Skip to content

Commit

Permalink
Use new Guzzle PSR7 parser
Browse files Browse the repository at this point in the history
  • Loading branch information
cboden committed May 21, 2015
1 parent e11296d commit 10af1f5
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 14 deletions.
8 changes: 4 additions & 4 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@
"license": "MIT",
"require": {
"php": ">=5.4.0",
"guzzle/parser": "~3.0",
"react/socket": "0.4.*",
"react/stream": "0.4.*",
"evenement/evenement": "~2.0"
"guzzlehttp/psr7": "^1.0",
"react/socket": "^0.4",
"react/stream": "^0.4",
"evenement/evenement": "^2.0"
},
"autoload": {
"psr-4": {
Expand Down
27 changes: 17 additions & 10 deletions src/RequestHeaderParser.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
namespace React\Http;

use Evenement\EventEmitter;
use Guzzle\Parser\Message\MessageParser;
use GuzzleHttp\Psr7 as g7;

/**
* @event headers
Expand Down Expand Up @@ -36,20 +36,27 @@ public function parseRequest($data)
{
list($headers, $bodyBuffer) = explode("\r\n\r\n", $data, 2);

$parser = new MessageParser();
$parsed = $parser->parseRequest($headers."\r\n\r\n");
$psrRequest = g7\parse_request($headers);

$parsedQuery = array();
if ($parsed['request_url']['query']) {
parse_str($parsed['request_url']['query'], $parsedQuery);
$parsedQuery = [];
$queryString = $psrRequest->getUri()->getQuery();
if ($queryString) {
parse_str($queryString, $parsedQuery);
}

$headers = $psrRequest->getHeaders();
array_walk($headers, function(&$val) {
if (1 === count($val)) {
$val = $val[0];
}
});

$request = new Request(
$parsed['method'],
$parsed['request_url']['path'],
$psrRequest->getMethod(),
$psrRequest ->getUri()->getPath(),

This comment has been minimized.

Copy link
@andig

andig Jun 27, 2015

Contributor

Note the surplus blank

This comment has been minimized.

Copy link
@WyriHaximus

WyriHaximus Jun 27, 2015

Member

Thanks for pointing out, give me a moment to fix that

$parsedQuery,
$parsed['version'],
$parsed['headers']
$psrRequest->getProtocolVersion(),
$headers
);

return array($request, $bodyBuffer);
Expand Down

0 comments on commit 10af1f5

Please sign in to comment.