Passed
Pull Request — master (#10)
by Fabian
02:17
created

RequestHeader   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 18
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
dl 0
loc 18
ccs 6
cts 6
cp 1
rs 10
c 0
b 0
f 0
wmc 1

1 Method

Rating   Name   Duplication   Size   Complexity  
A asArray() 0 8 1
1
<?php
2
/**
3
 * @author  Fabian Hanisch
4
 * @since   14.07.2017 23:19
5
 * @version 1.0
6
 */
7
8
namespace HanischIt\KrakenApi\Service\RequestService;
9
10
use HanischIt\KrakenApi\Model\Header;
11
12
/**
13
 * Class RequestHeader
14
 *
15
 * @package HanischIt\KrakenApi\Service\RequestService
16
 */
17
class RequestHeader
18
{
19
    /**
20
     * @param Header $header
21
     * @param array $requestData
22
     * @param string $path
23
     * @param        $nonce
24
     *
25
     * @return array
26
     */
27 1
    public function asArray(Header $header, array $requestData, $path, $nonce)
28
    {
29 1
        $requestData["nonce"] = $nonce;
30 1
        $postData = http_build_query($requestData, '', '&');
31 1
        $sign = hash_hmac('sha512', $path . hash('sha256', $nonce . $postData, true),
32 1
            base64_decode($header->getApiSign()), true);
33
34 1
        return ["API-Key" => $header->getApiKey(), "API-Sign" => base64_encode($sign)];
35
    }
36
}
37