PageRenderTime 19ms CodeModel.GetById 9ms app.highlight 5ms RepoModel.GetById 1ms app.codeStats 1ms

/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 */
17namespace Google\Auth\HttpHandler;
18
19use GuzzleHttp\Client;
20use GuzzleHttp\ClientInterface;
21
22class HttpHandlerFactory
23{
24    /**
25     * Builds out a default http handler for the installed version of guzzle.
26     *
27     * @param ClientInterface $client
28     *
29     * @return Guzzle5HttpHandler|Guzzle6HttpHandler
30     *
31     * @throws \Exception
32     */
33    public static function build(ClientInterface $client = null)
34    {
35        $version = ClientInterface::VERSION;
36        $client = $client ?: new Client();
37
38        switch ($version[0]) {
39            case '5':
40                return new Guzzle5HttpHandler($client);
41            case '6':
42                return new Guzzle6HttpHandler($client);
43            default:
44                throw new \Exception('Version not supported');
45        }
46    }
47}