/** * @param Request $request * @return Response */ public function request(Request $request) { $guzzleRequest = $this->prepareRequest($request); /** @var GuzzleResponse $guzzleResponse */ $guzzleResponse = $this->client->send($guzzleRequest); return new Response($guzzleResponse->getProtocolVersion(), (int) $guzzleResponse->getStatusCode(), $guzzleResponse->getReasonPhrase(), HeaderConverter::convertComplexAssociativeToFlatAssociative($guzzleResponse->getHeaders()), (string) $guzzleResponse->getBody()); }
/** * @param Request $request * @return BuzzRequest */ protected function prepareRequest(Request $request) { $buzzRequest = new BuzzRequest($request->getMethod(), $request->getUrl()->getResource(), $request->getUrl()->getHost()); $buzzRequest->setProtocolVersion($request->getProtocolVersion()); $buzzRequest->setHeaders(HeaderConverter::convertAssociativeToRaw($this->prepareHeaders($request))); $buzzRequest->setContent($request->getContent()); return $buzzRequest; }
/** * @param Request $request * @return Response */ public function request(Request $request) { $method = strtolower($request->getMethod()); $headers = HeaderConverter::convertAssociativeToRaw($this->prepareHeaders($request)); /** @var VinelabResponse $vinelabResponse */ $vinelabResponse = $this->client->{$method}(array('version' => $request->getProtocolVersion(), 'url' => (string) $request->getUrl(), 'headers' => $headers, 'content' => $request->getContent())); return new Response($request->getProtocolVersion(), $vinelabResponse->statusCode(), $this->getStatusMessage($vinelabResponse->statusCode()), $vinelabResponse->headers(), $vinelabResponse->content()); }
/** * @param array $complexAssociativeHeaders * @param array $expected * @dataProvider convertComplexAssociativeToFlatAssociativeProvider */ public function testConvertComplexAssociativeToFlatAssociative(array $complexAssociativeHeaders, array $expected) { $actual = HeaderConverter::convertComplexAssociativeToFlatAssociative($complexAssociativeHeaders); $this->assertEquals($expected, $actual); }