/**
  * @param  Request  $request
  * @return Response
  */
 public function request(Request $request)
 {
     $buzzRequest = $this->prepareRequest($request);
     /** @var BuzzResponse $buzzResponse */
     $buzzResponse = $this->browser->send($buzzRequest);
     return new Response((string) $buzzResponse->getProtocolVersion(), $buzzResponse->getStatusCode(), $buzzResponse->getReasonPhrase(), HeaderConverter::convertRawToAssociative($buzzResponse->getHeaders()), $buzzResponse->getContent());
 }
 /**
  * @param array $rawHeaders
  * @param array $expected
  * @dataProvider convertRawToAssociativeProvider
  */
 public function testConvertRawHeaders(array $rawHeaders, array $expected)
 {
     $actual = HeaderConverter::convertRawToAssociative($rawHeaders);
     $this->assertEquals($expected, $actual);
 }