Inheritance: extends GuzzleHttp\Psr7\Request, implements Kraken\Network\Http\HttpRequestInterface, implements Kraken\Network\NetworkMessageInterface
Example #1
0
 /**
  * @override
  * @inheritDoc
  */
 public function parseRequest($message)
 {
     $data = Psr7\_parse_message($message);
     $matches = [];
     if (!preg_match('/^[a-zA-Z]+\\s+([a-zA-Z]+:\\/\\/|\\/).*/', $data['start-line'], $matches)) {
         throw new InvalidArgumentException('Invalid request string');
     }
     $parts = explode(' ', $data['start-line'], 3);
     $version = isset($parts[2]) ? explode('/', $parts[2])[1] : '1.1';
     $request = new HttpRequest($parts[0], $matches[1] === '/' ? Psr7\_parse_request_uri($parts[1], $data['headers']) : $parts[1], $data['headers'], $data['body'], $version);
     return $matches[1] === '/' ? $request : $request->withRequestTarget($parts[1]);
 }