public function apply(RequestAndResponse $originalRequestAndResponse) : RequestAndResponse { $originalResponse = $originalRequestAndResponse->response(); $headers = $originalResponse->getHeaders(); $headers['Content-Type'] = 'application/json'; return new RequestAndResponse($originalRequestAndResponse->request(), new JsonResponse([], $originalResponse->getStatusCode(), $headers)); }
function it_can_take_some_stuff_out_of_the_request(RequestAndResponse $originalRequestAndResponse, ResponseInterface $originalResponse, ServerRequestInterface $originalRequest, ServerRequestInterface $requestWithOneAttribRemoved, ServerRequestInterface $requestWithBothAttribsRemoved) { // ARRANGE $originalRequestAndResponse->response()->willReturn($originalResponse); $originalRequestAndResponse->request()->willReturn($originalRequest); $originalRequest->withoutAttribute('route')->willReturn($requestWithOneAttribRemoved); $requestWithOneAttribRemoved->withoutAttribute('route-info')->willReturn($requestWithBothAttribsRemoved); // ACT $result = $this->apply($originalRequestAndResponse); // ASSERT $result->request()->shouldBe($requestWithBothAttribsRemoved); $result->response()->shouldBe($originalResponse); }
function it_can_convert_the_response_object_type(RequestAndResponse $requestAndResponse, ServerRequestInterface $request, ResponseInterface $response) { // ARRANGE $requestAndResponse->request()->willReturn($request); $requestAndResponse->response()->willReturn($response); $response->getHeaders()->willReturn(['header-name' => 'header-value']); $response->getStatusCode()->willReturn(201); // ACT $resultingRequestAndResponse = $this->apply($requestAndResponse); // ASSERT $resultingRequestAndResponse->request()->shouldBeLike($request); $expectedResponseHeaders = ['header-name' => ['header-value'], 'Content-Type' => ['application/json']]; $expectedResponseStatusCode = 201; $resultingRequestAndResponse->response()->getStatusCode()->shouldBe($expectedResponseStatusCode); $resultingRequestAndResponse->response()->getHeaders()->shouldBe($expectedResponseHeaders); }
public function apply(RequestAndResponse $originalRequestAndResponse) : RequestAndResponse { $request = $originalRequestAndResponse->request(); return new RequestAndResponse($request->withoutAttribute('route')->withoutAttribute('route-info'), $originalRequestAndResponse->response()); }