public function testRequestFactorySchemeHeader() { $server = array('SERVER_NAME' => 'example.com', 'HTTP_HOST' => 'example.com', 'SERVER_PORT' => '80', 'REQUEST_URI' => 'http://example.com/', 'REQUEST_METHOD' => 'GET', 'HTTP_X_FORWARDED_PROTO' => 'https'); $factory = new Http\RequestFactory($server); $factory->setSchemeHeader('X-Forwarded-Proto'); $request = $factory->create(); $this->assertEquals($request->getRequestMethod(), 'GET'); $this->assertEquals((string) $request->getUrl(), 'https://example.com/'); $this->assertEquals($request->getUrl()->getScheme(), 'https'); }
/** * Processes an HTTP request, copies response to STDOUT * @return void */ public function run($server = null, $stream = null) { $server = $server ?: $_SERVER; $stream = $stream ?: fopen('php://output', 'w'); $controller = $this->controller(); // build up wrappers of middleware foreach ($this->_middleware as $middleware) { $controller = new $middleware($controller, $this); } $requestFactory = new Http\RequestFactory($server); $response = $controller->execute($requestFactory->create()); $sender = new Http\ResponseSender($response, $stream); $sender->send(); }