vendor/league/oauth2-client/src/Tool/RequestFactory.php line 44

Open in your IDE?
  1. <?php
  2. /**
  3.  * This file is part of the league/oauth2-client library
  4.  *
  5.  * For the full copyright and license information, please view the LICENSE
  6.  * file that was distributed with this source code.
  7.  *
  8.  * @copyright Copyright (c) Alex Bilbie <[email protected]>
  9.  * @license http://opensource.org/licenses/MIT MIT
  10.  * @link http://thephpleague.com/oauth2-client/ Documentation
  11.  * @link https://packagist.org/packages/league/oauth2-client Packagist
  12.  * @link https://github.com/thephpleague/oauth2-client GitHub
  13.  */
  14. namespace League\OAuth2\Client\Tool;
  15. use GuzzleHttp\Psr7\Request;
  16. /**
  17.  * Used to produce PSR-7 Request instances.
  18.  *
  19.  * @link https://github.com/guzzle/guzzle/pull/1101
  20.  */
  21. class RequestFactory
  22. {
  23.     /**
  24.      * Creates a PSR-7 Request instance.
  25.      *
  26.      * @param  null|string $method HTTP method for the request.
  27.      * @param  null|string $uri URI for the request.
  28.      * @param  array $headers Headers for the message.
  29.      * @param  string|resource|StreamInterface $body Message body.
  30.      * @param  string $version HTTP protocol version.
  31.      *
  32.      * @return Request
  33.      */
  34.     public function getRequest(
  35.         $method,
  36.         $uri,
  37.         array $headers = [],
  38.         $body null,
  39.         $version '1.1'
  40.     ) {
  41.         return new Request($method$uri$headers$body$version);
  42.     }
  43.     /**
  44.      * Parses simplified options.
  45.      *
  46.      * @param array $options Simplified options.
  47.      *
  48.      * @return array Extended options for use with getRequest.
  49.      */
  50.     protected function parseOptions(array $options)
  51.     {
  52.         // Should match default values for getRequest
  53.         $defaults = [
  54.             'headers' => [],
  55.             'body'    => null,
  56.             'version' => '1.1',
  57.         ];
  58.         return array_merge($defaults$options);
  59.     }
  60.     /**
  61.      * Creates a request using a simplified array of options.
  62.      *
  63.      * @param  null|string $method
  64.      * @param  null|string $uri
  65.      * @param  array $options
  66.      *
  67.      * @return Request
  68.      */
  69.     public function getRequestWithOptions($method$uri, array $options = [])
  70.     {
  71.         $options $this->parseOptions($options);
  72.         return $this->getRequest(
  73.             $method,
  74.             $uri,
  75.             $options['headers'],
  76.             $options['body'],
  77.             $options['version']
  78.         );
  79.     }
  80. }