diff options
Diffstat (limited to 'vendor/guzzle/guzzle/src/Guzzle/Parser/Message/PeclHttpMessageParser.php')
-rw-r--r-- | vendor/guzzle/guzzle/src/Guzzle/Parser/Message/PeclHttpMessageParser.php | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/vendor/guzzle/guzzle/src/Guzzle/Parser/Message/PeclHttpMessageParser.php b/vendor/guzzle/guzzle/src/Guzzle/Parser/Message/PeclHttpMessageParser.php new file mode 100644 index 0000000..944aaa2 --- /dev/null +++ b/vendor/guzzle/guzzle/src/Guzzle/Parser/Message/PeclHttpMessageParser.php @@ -0,0 +1,48 @@ +<?php + +namespace Guzzle\Parser\Message; + +/** + * Pecl HTTP message parser + */ +class PeclHttpMessageParser extends AbstractMessageParser +{ + public function parseRequest($message) + { + if (!$message) { + return false; + } + + $parts = http_parse_message($message); + + $parsed = array( + 'method' => $parts->requestMethod, + 'protocol' => 'HTTP', + 'version' => number_format($parts->httpVersion, 1), + 'headers' => $parts->headers, + 'body' => $parts->body + ); + + $parsed['request_url'] = $this->getUrlPartsFromMessage($parts->requestUrl, $parsed); + + return $parsed; + } + + public function parseResponse($message) + { + if (!$message) { + return false; + } + + $parts = http_parse_message($message); + + return array( + 'protocol' => 'HTTP', + 'version' => number_format($parts->httpVersion, 1), + 'code' => $parts->responseCode, + 'reason_phrase' => $parts->responseStatus, + 'headers' => $parts->headers, + 'body' => $parts->body + ); + } +} |