/library/Google/vendor/google/auth/src/HttpHandler/HttpHandlerFactory.php

https://gitlab.com/vangtrangbac123/zinkaiuit.tk · PHP · 47 lines · 20 code · 3 blank · 24 comment · 1 complexity · 8057ae2f53b929737e3e8a8c8e89324a MD5 · raw file

  1. <?php
  2. /**
  3. * Copyright 2015 Google Inc. All Rights Reserved.
  4. *
  5. * Licensed under the Apache License, Version 2.0 (the "License");
  6. * you may not use this file except in compliance with the License.
  7. * You may obtain a copy of the License at
  8. *
  9. * http://www.apache.org/licenses/LICENSE-2.0
  10. *
  11. * Unless required by applicable law or agreed to in writing, software
  12. * distributed under the License is distributed on an "AS IS" BASIS,
  13. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14. * See the License for the specific language governing permissions and
  15. * limitations under the License.
  16. */
  17. namespace Google\Auth\HttpHandler;
  18. use GuzzleHttp\Client;
  19. use GuzzleHttp\ClientInterface;
  20. class HttpHandlerFactory
  21. {
  22. /**
  23. * Builds out a default http handler for the installed version of guzzle.
  24. *
  25. * @param ClientInterface $client
  26. *
  27. * @return Guzzle5HttpHandler|Guzzle6HttpHandler
  28. *
  29. * @throws \Exception
  30. */
  31. public static function build(ClientInterface $client = null)
  32. {
  33. $version = ClientInterface::VERSION;
  34. $client = $client ?: new Client();
  35. switch ($version[0]) {
  36. case '5':
  37. return new Guzzle5HttpHandler($client);
  38. case '6':
  39. return new Guzzle6HttpHandler($client);
  40. default:
  41. throw new \Exception('Version not supported');
  42. }
  43. }
  44. }