UserAgentTrait.php 968 B

12345678910111213141516171819202122232425262728293031
  1. <?php
  2. namespace Aws\S3\Crypto;
  3. use Aws\AwsClientInterface;
  4. use Aws\Middleware;
  5. use Psr\Http\Message\RequestInterface;
  6. trait UserAgentTrait
  7. {
  8. private function appendUserAgent(AwsClientInterface $client, $agentString)
  9. {
  10. $list = $client->getHandlerList();
  11. $list->appendBuild(Middleware::mapRequest(
  12. function(RequestInterface $req) use ($agentString) {
  13. if (!empty($req->getHeader('User-Agent'))
  14. && !empty($req->getHeader('User-Agent')[0])
  15. ) {
  16. $userAgent = $req->getHeader('User-Agent')[0];
  17. if (strpos($userAgent, $agentString) === false) {
  18. $userAgent .= " {$agentString}";
  19. };
  20. } else {
  21. $userAgent = $agentString;
  22. }
  23. $req = $req->withHeader('User-Agent', $userAgent);
  24. return $req;
  25. }
  26. ));
  27. }
  28. }