public function testNotExistentMetadataUsingNoDefaultValue() { $event = new Event('my_event_name', ['my_event_data_key1' => 'my_event_data_value1']); $this->assertNull($event->getData('my_event_data_key2')); }
/** * @param ClientInterface $client * @param string $buffer * @param int $length * @param bool $isError * @return RequestHandlerInterface */ public function __invoke(Event $event, ClientInterface $client, $buffer, $length, $isError) { if ($isError) { $this->getLogger()->error(sprintf('%s encountered an error.', __METHOD__)); (new Response())->setReturnCode(500, 'Internal Server Error')->setBody('Server Error')->setHeader('Connection', 'close')->send($client); return $this; } if (($request = $this->initRequest($client, $buffer, $length)) === null) { return $this; } if (($response = $this->initResponse($client)) === null) { return $this; } if ($this->setupUpgrades($client, $request, $response)) { return $this; } $response->on(['ready'], function (Event $event) use($client, $request) { $response = $event->getData('eventEmitter'); $response->send($client); }); // FIXME: what if the request was chunked? // FIXME: what if the request does not close after response? $this->emit(new Event('request'), [$client, $request, $response]); return $this; }