protected function execute(InputInterface $input, OutputInterface $output) { // request $baseUrl = new Url($this->config['psx_url']); $baseUrl = $baseUrl->withPath(null); $parser = new RequestParser($baseUrl, RequestParser::MODE_LOOSE); $request = $parser->parse($this->reader->read()); // response $response = new Response(); $response->setHeader('X-Powered-By', 'psx'); $response->setBody(new TempStream(fopen('php://memory', 'r+'))); // dispatch request $this->dispatch->route($request, $response); // determine return code return $response->getStatusCode() >= 400 && $response->getStatusCode() < 600 ? 1 : 0; }
/** * @expectedException \InvalidArgumentException */ public function testParseInvalidMode() { $request = 'GET /foobar?foo=bar#fragment HTTP/1.1' . Http::$newLine; $request .= 'Content-Type: text/plain' . Http::$newLine; $parser = new RequestParser(new Url('http://localhost.com'), 'foo'); $parser->parse($request); }