예제 #1
0
파일: ServeCommand.php 프로젝트: seytar/psx
 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;
 }
예제 #2
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);
 }