Spaces-API/aws/Aws/S3/Crypto/UserAgentTrait.php
Devang Srivastava e6d7753dc8 v2: Updates
* Simplifies & beautifies everything
* Introduces a new Class system.
* Errors are defaulted to AWS's handler.
* New function names & more efficient handling.
* Should fix a majority of the errors.

Please read the README for more!
2020-09-28 15:32:51 +05:30

31 lines
968 B
PHP

<?php
namespace Aws\S3\Crypto;
use Aws\AwsClientInterface;
use Aws\Middleware;
use Psr\Http\Message\RequestInterface;
trait UserAgentTrait
{
private function appendUserAgent(AwsClientInterface $client, $agentString)
{
$list = $client->getHandlerList();
$list->appendBuild(Middleware::mapRequest(
function(RequestInterface $req) use ($agentString) {
if (!empty($req->getHeader('User-Agent'))
&& !empty($req->getHeader('User-Agent')[0])
) {
$userAgent = $req->getHeader('User-Agent')[0];
if (strpos($userAgent, $agentString) === false) {
$userAgent .= " {$agentString}";
};
} else {
$userAgent = $agentString;
}
$req = $req->withHeader('User-Agent', $userAgent);
return $req;
}
));
}
}