Completed
Pull Request — master (#127)
by Alexandr
04:00
created

Middleware::header()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 2
dl 0
loc 4
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 2
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Kerox\Messenger\Http;
6
7
use GuzzleHttp\Psr7\Uri;
8
use Psr\Http\Message\RequestInterface;
9
10
class Middleware
11
{
12
    /**
13
     * Append 'Content-Type' header to each client request.
14
     *
15
     * @param string $name
16
     * @param string $value
17
     *
18
     * @return callable
19
     */
20
    public static function header(string $name, string $value): callable
21
    {
22
        return \GuzzleHttp\Middleware::mapRequest(function (RequestInterface $request) use ($name, $value) {
23
            return $request->withHeader($name, $value);
24
        });
25
    }
26
27
    /**
28
     * Append query param to each client request.
29
     *
30
     * @param string $name
31
     * @param string $value
32
     *
33
     * @return callable
34
     */
35
    public static function queryParam(string $name, string $value): callable
36
    {
37
        return \GuzzleHttp\Middleware::mapRequest(function (RequestInterface $request) use ($name, $value) {
38
            $uri = Uri::withQueryValue($request->getUri(), $name, $value);
39
40
            return $request->withUri($uri);
41
        });
42
    }
43
}
44