JFIF  x x C         C     "        } !1AQa "q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz        w !1AQ aq"2B #3Rbr{ gilour
<?php namespace Illuminate\Http\Client; use GuzzleHttp\Utils; /** * @mixin \Illuminate\Http\Client\Factory */ class Pool { /** * The factory instance. * * @var \Illuminate\Http\Client\Factory */ protected $factory; /** * The handler function for the Guzzle client. * * @var callable */ protected $handler; /** * The pool of requests. * * @var array */ protected $pool = []; /** * Create a new requests pool. * * @param \Illuminate\Http\Client\Factory|null $factory * @return void */ public function __construct(?Factory $factory = null) { $this->factory = $factory ?: new Factory(); $this->handler = Utils::chooseHandler(); } /** * Add a request to the pool with a key. * * @param string $key * @return \Illuminate\Http\Client\PendingRequest */ public function as(string $key) { return $this->pool[$key] = $this->asyncRequest(); } /** * Retrieve a new async pending request. * * @return \Illuminate\Http\Client\PendingRequest */ protected function asyncRequest() { return $this->factory->setHandler($this->handler)->async(); } /** * Retrieve the requests in the pool. * * @return array */ public function getRequests() { return $this->pool; } /** * Add a request to the pool with a numeric index. * * @param string $method * @param array $parameters * @return \Illuminate\Http\Client\PendingRequest|\GuzzleHttp\Promise\Promise */ public function __call($method, $parameters) { return $this->pool[] = $this->asyncRequest()->$method(...$parameters); } }