/** * @dataProvider headerProvider * @param type $headers * @param type $length * @param array $valid */ public function testParseHeaders($headers, $length, array $valid = []) { $response = new Response(); $rest = ResponseFactory::parseHeaders($headers, $response); $this->assertEquals($length, strlen($rest)); foreach ($valid as $name => $value) { $this->assertEquals($value, $response->getHeader($name)); } }
/** * Send the request * @param AbstractRequest $request The request to be send * @return Message\Response * @throws Exception */ public function send(AbstractRequest $request) { $handle = HandleFactory::build($request); $this->dispatch(MessageEvent::REQUEST, new MessageEvent($request)); try { $result = $handle->execute(); } catch (\Exception $error) { if ($error instanceof CurlException) { $response = ResponseFactory::build('', $handle->infos(), $request); $error->setResponse($response); } $this->dispatch(ErrorEvent::ERROR, new ErrorEvent($error)); throw $error; } $response = ResponseFactory::build($result, $handle->infos(), $request); $this->dispatch(MessageEvent::RESPONSE, new MessageEvent($response)); return $response; }