Passed
Pull Request — master (#193)
by
unknown
02:05
created

Cors   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 16
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 8
c 1
b 0
f 0
dl 0
loc 16
ccs 0
cts 7
cp 0
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
    const HEADER_ACCESS_CONTROL_MAX_AGE = 86400;
12
13
    /**
14
     * {@inheritDoc}
15
     */
16
    public function handle(Request $request, Response $response)
17
    {
18
        $response->setHeaders([
19
            'Access-Control-Allow-Origin' => $request->header('Origin'),
20
            'Access-Control-Allow-Methods' => \implode(',', $request->allowedHttpVerbs()),
21
            '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
            'Access-Control-Expose-Headers' => 'Upload-Key, Upload-Checksum, Upload-Length, Upload-Offset, Upload-Metadata, Tus-Version, Tus-Resumable, Tus-Extension, Location',
23
            'Access-Control-Max-Age' => self::HEADER_ACCESS_CONTROL_MAX_AGE,
24
        ]);
25
    }
26
}
27