Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
5 / 5
100.00% covered (success)
100.00%
1 / 1
CRAP
100.00% covered (success)
100.00%
1 / 1
JsonOnly
100.00% covered (success)
100.00%
5 / 5
100.00% covered (success)
100.00%
1 / 1
4
100.00% covered (success)
100.00%
1 / 1
 handle
100.00% covered (success)
100.00%
5 / 5
100.00% covered (success)
100.00%
1 / 1
4
1<?php
2
3namespace App\Http\Middleware;
4
5use Illuminate\Http\Request;
6
7class JsonOnly
8{
9    /**
10     * Handle an incoming request.
11     *
12     * @param  \Illuminate\Http\Request $request
13     * @param  \Closure                 $next
14     * @return mixed
15     */
16    public function handle(Request $request, \Closure $next): mixed
17    {
18        if (
19            (!$request->isJson() or
20                !$request->expectsJson() or
21                is_null(json_decode($request->getContent())))
22        ) {
23            abort(400, 'Invalid JSON');
24        }
25
26        return $next($request);
27    }
28}