GuzzleNegativeResponseParser::parse()   A
last analyzed

Complexity

Conditions 3
Paths 3

Size

Total Lines 11
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 6
c 1
b 0
f 0
dl 0
loc 11
rs 10
cc 3
nc 3
nop 1
1
<?php
2
3
/*
4
 * This file has been created by developers from BitBag.
5
 * Feel free to contact us once you face any issues or want to start
6
 * You can find more information about us on https://bitbag.io and write us
7
 * an email on [email protected].
8
 */
9
10
declare(strict_types=1);
11
12
namespace BitBag\SyliusMolliePlugin\Parser\Response;
13
14
use Mollie\Api\Exceptions\ApiException;
15
16
final class GuzzleNegativeResponseParser implements GuzzleNegativeResponseParserInterface
17
{
18
    public function parse(ApiException $exception): string
19
    {
20
        if ($exception->hasResponse()) {
21
            $response = $exception->getResponse();
22
            $responseBodyAsString = json_decode((string) $response->getBody(), true);
23
            if (isset($responseBodyAsString['extra']['failureReason'])) {
24
                return $responseBodyAsString['extra']['failureReason'];
25
            }
26
        }
27
28
        return '';
29
    }
30
}
31