public function __invoke(ServerRequestInterface $request, ResponseInterface $response, callable $next)
{
$format = $this->getFromExtension($request) ?: $this->getFromHeader($request) ?: $this->default;
$contentType = $this->formats[$format][1][0] . '; charset=utf-8';
$response = $next(self::setAttribute($request, self::KEY, $format), $response->withHeader('Content-Type', $contentType));
if (!$response->hasHeader('Content-Type')) {
$response = $response->withHeader('Content-Type', $contentType);
}
return $response;
}