Test Failed
Push — main ( 706477...92dbda )
by Yaroslav
03:43
created

InterceptFlexibleAttributes::handle()   A

Complexity

Conditions 3
Paths 3

Size

Total Lines 17
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 12

Importance

Changes 0
Metric Value
cc 3
eloc 8
nc 3
nop 2
dl 0
loc 17
ccs 0
cts 9
cp 0
crap 12
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace NovaFlexibleContent\Http\Middleware;
4
5
use Closure;
6
use Illuminate\Http\Request;
7
use NovaFlexibleContent\Http\FlexibleAttribute;
8
use NovaFlexibleContent\Http\ParsesFlexibleAttributes;
9
use NovaFlexibleContent\Http\TransformsFlexibleErrors;
10
use Symfony\Component\HttpFoundation\Response;
11
12
class InterceptFlexibleAttributes
13
{
14
    use ParsesFlexibleAttributes;
0 ignored issues
show
Bug introduced by
The trait NovaFlexibleContent\Http\ParsesFlexibleAttributes requires the property $name which is not provided by NovaFlexibleContent\Http...rceptFlexibleAttributes.
Loading history...
15
    use TransformsFlexibleErrors;
0 ignored issues
show
introduced by
The trait NovaFlexibleContent\Http\TransformsFlexibleErrors requires some properties which are not provided by NovaFlexibleContent\Http...rceptFlexibleAttributes: $original, $name
Loading history...
16
17
    /**
18
     * Handle the given request and get the response.
19
     *
20
     * @param  \Illuminate\Http\Request  $request
21
     * @param  \Closure  $next
22
     * @return \Symfony\Component\HttpFoundation\Response
23
     */
24
    public function handle(Request $request, Closure $next) : Response
25
    {
26
27
        if (!$this->requestHasParsableFlexibleInputs($request)) {
28
            return $next($request);
29
        }
30
31
        $request->merge($this->getParsedFlexibleInputs($request));
32
        $request->request->remove(FlexibleAttribute::REGISTER_FLEXIBLE_FIELD_NAME);
33
34
        $response = $next($request);
35
36
        if (!$this->shouldTransformFlexibleErrors($response)) {
37
            return $response;
38
        }
39
40
        return $this->transformFlexibleErrors($response);
41
    }
42
}
43