Completed
Push — master ( 32a55a...fb9711 )
by Mitchel
02:18
created

RequestIdMiddleware::__invoke()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 21
Code Lines 15

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 21
c 0
b 0
f 0
rs 9.3142
cc 2
eloc 15
nc 2
nop 2
1
<?php
2
3
namespace Bunq\Middleware;
4
5
use GuzzleHttp\Psr7\Request;
6
use Psr\Http\Message\RequestInterface;
7
use Ramsey\Uuid\Uuid;
8
9
final class RequestIdMiddleware
10
{
11
    /**
12
     * @param RequestInterface $request
13
     * @param array            $options
14
     *
15
     * @return Request
16
     */
17
    public function __invoke(RequestInterface $request, array $options = [])
18
    {
19
        $requestId = Uuid::uuid4()->toString();
20
        if (isset($options['request-id'])) {
21
            $requestId = $options['request-id'];
22
        }
23
24
        $headers                               = $request->getHeaders();
25
        $headers['X-Bunq-Client-Request-Id'][] = $requestId;
26
        $headers['Cache-Control'][]            = 'no-cache';
27
        $headers['X-Bunq-Geolocation'][]       = '52.3 4.89 12 100 NL';
28
        $headers['X-Bunq-Language'][]          = 'nl_NL';
29
        $headers['X-Bunq-Region'][]            = 'nl_NL';
30
31
        return new Request(
32
            $request->getMethod(),
33
            $request->getUri(),
34
            $headers,
35
            $request->getBody()
36
        );
37
    }
38
}
39