OptionsResponse::init()   A
last analyzed

Complexity

Conditions 5
Paths 6

Size

Total Lines 23
Code Lines 15

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 5
eloc 15
nc 6
nop 0
dl 0
loc 23
rs 9.4555
c 0
b 0
f 0
1
<?php
2
/**
3
 * Created by PhpStorm.
4
 * User: siim
5
 * Date: 17.01.19
6
 * Time: 9:48
7
 */
8
9
namespace Sf4\Api\Response;
10
11
class OptionsResponse extends AbstractResponse
12
{
13
    public function init()
14
    {
15
        $request = $this->getRequest();
16
        $headers = $this->getResponseHeaders();
17
        if ($request) {
18
            $httpRequest = $request->getRequest();
19
            if ($httpRequest) {
20
                $requestHeaders = $httpRequest->headers;
21
22
                $headers['Access-Control-Allow-Credentials'] = 'true';
23
                $headers['Access-Control-Max-Age'] = '86400';
24
25
                if ($requestHeaders->has('Access-Control-Request-Headers')) {
26
                    $headers['Access-Control-Allow-Headers'] = $requestHeaders->get('Access-Control-Request-Headers');
27
                } else {
28
                    $headers['Access-Control-Allow-Headers'] = 'Origin, Content-Type';
29
                }
30
                if ($requestHeaders->has('Access-Control-Request-Method')) {
31
                    $headers['Access-Control-Allow-Methods'] = $requestHeaders->get('Access-Control-Request-Method');
32
                }
33
            }
34
        }
35
        $this->setResponseHeaders($headers);
36
    }
37
}
38