for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use Symfony\Component\HttpFoundation\Response;
class SpeakJson
{
/**
*
*/
const JSONAPI_CONTENT_TYPE = 'application/vnd.api+json';
* @param Request $request
* @param Closure $next
* @return Response
public function handle(Request $request, Closure $next)
if ($request->header('Content-Type') !== self::JSONAPI_CONTENT_TYPE) {
return response(null, Response::HTTP_UNSUPPORTED_MEDIA_TYPE);
}
$accept = $request->header('accept', '*/*');
if (!in_array($accept, ['*/*', self::JSONAPI_CONTENT_TYPE])) {
return response(null, Response::HTTP_NOT_ACCEPTABLE);
$response = $next($request);
$response->header('Content-Type', self::JSONAPI_CONTENT_TYPE);
return $response;