/** * @param array $parameters */ public function __construct($parameters = []) { $this->parameters = $parameters; $this->share('logger', function () { return new ConsoleLogger($this['output']); }); $this->share('handler.http', function () { $handler = new HttpHandler($this['handler.options']); $handler->setLogger($this->get('logger')); foreach ($this->getTaggedServices('processor') as $processor) { $handler->addProcessor($processor); } return $handler; }); $this->share('scheduler', function () { $scheduler = new SocketScheduler(); foreach ($this->getTaggedServices('server') as $server) { $scheduler->add($server); } return $scheduler; }); $this->share('server.http', function () { $server = new HttpServer($this->get('handler.http')); return $server->listen($this['address.http']); }, ['server']); $this->share('http.processor.php', function () { return new PhpCgiProcessor(); }, ['processor']); }
/** * @param Request $request * @param ProtectedStreamSocket $socket * * @return Response|void */ protected function handleRequest(Request $request, ProtectedStreamSocket $socket) { $request->setHeader('Https', 1); return parent::handleRequest($request, $socket); }