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