Completed
Push — master ( bd4ff0...d83768 )
by Fabian
03:55
created

RequestHeader   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 17
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

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

1 Method

Rating   Name   Duplication   Size   Complexity  
A asArray() 0 7 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
    public function asArray(Header $header, array $requestData, $path, $nonce)
28
    {
29
        $requestData["nonce"] = $nonce;
30
        $postData = http_build_query($requestData, '', '&');
31
        $sign = hash_hmac('sha512', $path . hash('sha256', $nonce . $postData, true), base64_decode($header->getApiSign()), true);
32
33
        return ["API-Key" => $header->getApiKey(), "API-Sign" => base64_encode($sign)];
34
    }
35
}
36