function HeaderProcessor::parseHeaders
Returns the HTTP version, status code, reason phrase, and headers.
Parameters
string[] $headers:
Return value
array{0:string, 1:int, 2:?string, 3:array}
Throws
\RuntimeException
2 calls to HeaderProcessor::parseHeaders()
- EasyHandle::createResponse in vendor/
guzzlehttp/ guzzle/ src/ Handler/ EasyHandle.php - Attach a response to the easy handle based on the received headers.
- StreamHandler::createResponse in vendor/
guzzlehttp/ guzzle/ src/ Handler/ StreamHandler.php
File
-
vendor/
guzzlehttp/ guzzle/ src/ Handler/ HeaderProcessor.php, line 21
Class
- HeaderProcessor
- @internal
Namespace
GuzzleHttp\HandlerCode
public static function parseHeaders(array $headers) : array {
if ($headers === []) {
throw new \RuntimeException('Expected a non-empty array of header data');
}
$parts = \explode(' ', \array_shift($headers), 3);
$version = \explode('/', $parts[0])[1] ?? null;
if ($version === null) {
throw new \RuntimeException('HTTP version missing from header data');
}
$status = $parts[1] ?? null;
if ($status === null) {
throw new \RuntimeException('HTTP status code missing from header data');
}
return [
$version,
(int) $status,
$parts[2] ?? null,
Utils::headersFromLines($headers),
];
}