Passed
Pull Request — master (#6)
by
unknown
05:06
created

CorsMiddleware   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 29
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 11
c 1
b 0
f 0
dl 0
loc 29
rs 10
wmc 3

1 Method

Rating   Name   Duplication   Size   Complexity  
A handle() 0 19 3
1
<?php
2
3
namespace App\Http\Middleware;
4
5
use Closure;
6
use Illuminate\Http\Request;
7
use Illuminate\Http\Response;
8
use Laravel\Lumen\Http\ResponseFactory;
9
10
/**
11
 * Class CorsMiddleware
12
 *
13
 * @package App\Http\Middleware
14
 */
15
class CorsMiddleware
16
{
17
    /**
18
     * Handle an incoming request.
19
     *
20
     * @param  Request  $request
21
     * @param  Closure  $next
22
     *
23
     * @return Response|ResponseFactory|mixed
24
     */
25
    public function handle(Request $request, Closure $next)
26
    {
27
        header('Access-Control-Allow-Origin: *');
28
29
        $headers = [
30
            'Access-Control-Allow-Methods' => 'POST, GET, OPTIONS, DELETE, PATCH',
31
            'Access-Control-Allow-Headers' => 'Content-Type, X-Auth-Token, Origin, Authorization',
32
        ];
33
34
        if ($request->getMethod() == 'OPTIONS') {
35
            return response('OK', Response::HTTP_OK, $headers);
36
        }
37
38
        $response = $next($request);
39
        foreach ($headers as $key => $value) {
40
            $response->headers->set($key, $value);
41
        }
42
43
        return $response;
44
    }
45
}
46