Cors   A
last analyzed

Complexity

Total Complexity 1

Size/Duplication

Total Lines 16
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 8
c 1
b 0
f 0
dl 0
loc 16
ccs 7
cts 7
cp 1
rs 10
wmc 1

1 Method

Rating   Name   Duplication   Size   Complexity  
A handle() 0 8 1
1
<?php
2
3
namespace TusPhp\Middleware;
4
5
use TusPhp\Request;
6
use TusPhp\Response;
7
8
class Cors implements TusMiddleware
9
{
10
    /** @const int 24 hours access control max age header */
11
    private const HEADER_ACCESS_CONTROL_MAX_AGE = 86400;
12
13
    /**
14
     * {@inheritDoc}
15
     */
16 1
    public function handle(Request $request, Response $response)
17
    {
18 1
        $response->setHeaders([
19 1
            'Access-Control-Allow-Origin' => $request->header('Origin'),
20 1
            'Access-Control-Allow-Methods' => implode(',', $request->allowedHttpVerbs()),
21 1
            'Access-Control-Allow-Headers' => 'Origin, X-Requested-With, Content-Type, Content-Length, Upload-Key, Upload-Checksum, Upload-Length, Upload-Offset, Tus-Version, Tus-Resumable, Upload-Metadata',
22 1
            'Access-Control-Expose-Headers' => 'Upload-Key, Upload-Checksum, Upload-Length, Upload-Offset, Upload-Metadata, Tus-Version, Tus-Resumable, Tus-Extension, Location',
23 1
            'Access-Control-Max-Age' => self::HEADER_ACCESS_CONTROL_MAX_AGE,
24
        ]);
25 1
    }
26
}
27