GuzzleNegativeResponseParser   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 13
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 3
eloc 7
c 1
b 0
f 0
dl 0
loc 13
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A parse() 0 11 3
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