public function testToCakeBody()
 {
     $psr = new PsrResponse('php://memory', 200, ['X-testing' => ['value', 'value2']]);
     $psr->getBody()->write('A message for you');
     $result = ResponseTransformer::toCake($psr);
     $this->assertSame('A message for you', $result->body());
 }
 /**
  *
  * @param ServerRequestInterface $request  A server request object
  * @param ResponseInterface $response A response object
  * @param callable $next The next middleware to be executed
  * @return mixed
  */
 public function __invoke(ServerRequestInterface $request, ResponseInterface $response, $next)
 {
     // Convert the request/response to CakePHP equivalents.
     $cakeRequest = RequestTransformer::toCake($request);
     $cakeResponse = ResponseTransformer::toCake($response);
     // Dispatch the request/response to CakePHP
     $cakeResponse = $this->getDispatcher()->dispatch($cakeRequest, $cakeResponse);
     // Convert the response back into a PSR7 object.
     return $next($request, ResponseTransformer::toPsr($cakeResponse));
 }