private function StreamHandler::createResponse in Zircon Profile 8
Same name and namespace in other branches
- 8.0 vendor/guzzlehttp/guzzle/src/Handler/StreamHandler.php \GuzzleHttp\Handler\StreamHandler::createResponse()
1 call to StreamHandler::createResponse()
- StreamHandler::__invoke in vendor/
guzzlehttp/ guzzle/ src/ Handler/ StreamHandler.php - Sends an HTTP request.
File
- vendor/
guzzlehttp/ guzzle/ src/ Handler/ StreamHandler.php, line 93
Class
- StreamHandler
- HTTP handler that uses PHP's HTTP stream wrapper.
Namespace
GuzzleHttp\HandlerCode
private function createResponse(RequestInterface $request, array $options, $stream, $startTime) {
$hdrs = $this->lastHeaders;
$this->lastHeaders = [];
$parts = explode(' ', array_shift($hdrs), 3);
$ver = explode('/', $parts[0])[1];
$status = $parts[1];
$reason = isset($parts[2]) ? $parts[2] : null;
$headers = \GuzzleHttp\headers_from_lines($hdrs);
list($stream, $headers) = $this
->checkDecode($options, $headers, $stream);
$stream = Psr7\stream_for($stream);
$sink = $this
->createSink($stream, $options);
$response = new Psr7\Response($status, $headers, $sink, $ver, $reason);
if (isset($options['on_headers'])) {
try {
$options['on_headers']($response);
} catch (\Exception $e) {
$msg = 'An error was encountered during the on_headers event';
$ex = new RequestException($msg, $request, $response, $e);
return new RejectedPromise($ex);
}
}
if ($sink !== $stream) {
$this
->drain($stream, $sink);
}
$this
->invokeStats($options, $request, $startTime, $response, null);
return new FulfilledPromise($response);
}