Lines Matching refs:easy
54 $easy = new EasyHandle();
55 $easy->request = $request;
56 $easy->options = $options;
57 $conf = $this->getDefaultConf($easy);
58 $this->applyMethod($easy, $conf);
59 $this->applyHandlerOptions($easy, $conf);
60 $this->applyHeaders($easy, $conf);
68 $conf[\CURLOPT_HEADERFUNCTION] = $this->createHeaderFn($easy);
69 $easy->handle = $this->handles ? \array_pop($this->handles) : \curl_init();
70 curl_setopt_array($easy->handle, $conf);
72 return $easy;
75 public function release(EasyHandle $easy): void argument
77 $resource = $easy->handle;
78 unset($easy->handle);
103 …public static function finish(callable $handler, EasyHandle $easy, CurlFactoryInterface $factory):… argument
105 if (isset($easy->options['on_stats'])) {
106 self::invokeStats($easy);
109 if (!$easy->response || $easy->errno) {
110 return self::finishError($handler, $easy, $factory);
114 $factory->release($easy);
117 $body = $easy->response->getBody();
122 return new FulfilledPromise($easy->response);
125 private static function invokeStats(EasyHandle $easy): void argument
127 $curlStats = \curl_getinfo($easy->handle);
128 $curlStats['appconnect_time'] = \curl_getinfo($easy->handle, \CURLINFO_APPCONNECT_TIME);
130 $easy->request,
131 $easy->response,
133 $easy->errno,
136 ($easy->options['on_stats'])($stats);
142 …private static function finishError(callable $handler, EasyHandle $easy, CurlFactoryInterface $fac… argument
146 'errno' => $easy->errno,
147 'error' => \curl_error($easy->handle),
148 'appconnect_time' => \curl_getinfo($easy->handle, \CURLINFO_APPCONNECT_TIME),
149 ] + \curl_getinfo($easy->handle);
151 $factory->release($easy);
154 if (empty($easy->options['_err_message']) && (!$easy->errno || $easy->errno == 65)) {
155 return self::retryFailedRewind($handler, $easy, $ctx);
158 return self::createRejection($easy, $ctx);
161 private static function createRejection(EasyHandle $easy, array $ctx): PromiseInterface argument
171 if ($easy->createResponseException) {
175 $easy->request,
176 $easy->response,
177 $easy->createResponseException,
185 if ($easy->onHeadersException) {
189 $easy->request,
190 $easy->response,
191 $easy->onHeadersException,
313 private function applyHeaders(EasyHandle $easy, array &$conf): void argument
329 if (!$easy->request->hasHeader('Accept')) {
351 private function applyHandlerOptions(EasyHandle $easy, array &$conf): void argument
353 $options = $easy->options;
386 $accept = $easy->request->getHeaderLine('Accept-Encoding');
412 $easy->sink = $sink;
445 $scheme = $easy->request->getUri()->getScheme();
447 $host = $easy->request->getUri()->getHost();
546 …private static function retryFailedRewind(callable $handler, EasyHandle $easy, array $ctx): Promis… argument
550 $body = $easy->request->getBody();
560 return self::createRejection($easy, $ctx);
564 if (!isset($easy->options['_curl_retries'])) {
565 $easy->options['_curl_retries'] = 1;
566 } elseif ($easy->options['_curl_retries'] == 2) {
574 return self::createRejection($easy, $ctx);
576 ++$easy->options['_curl_retries'];
579 return $handler($easy->request, $easy->options);
582 private function createHeaderFn(EasyHandle $easy): callable argument
584 if (isset($easy->options['on_headers'])) {
585 $onHeaders = $easy->options['on_headers'];
596 $easy,
603 $easy->createResponse();
605 $easy->createResponseException = $e;
611 $onHeaders($easy->response);
615 $easy->onHeadersException = $e;
622 $easy->headers = [$value];
624 $easy->headers[] = $value;