private function StreamHandler::createResponse in Auth0 Single Sign On 8.2
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 94
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 = $stream;
if (strcasecmp('HEAD', $request
->getMethod())) {
$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 \GuzzleHttp\Promise\rejection_for($ex);
}
}
// Do not drain when the request is a HEAD request because they have
// no body.
if ($sink !== $stream) {
$this
->drain($stream, $sink, $response
->getHeaderLine('Content-Length'));
}
$this
->invokeStats($options, $request, $startTime, $response, null);
return new FulfilledPromise($response);
}