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

CorsMiddleware::handle()   A

Complexity

Conditions 3
Paths 3

Size

Total Lines 19
Code Lines 10

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 3
eloc 10
c 1
b 0
f 0
nc 3
nop 2
dl 0
loc 19
rs 9.9332
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