Example #1
0
 /**
  * @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));
     }
 }
Example #2
0
 /**
  * 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;
 }