Skip to content

Commit f1f20bc

Browse files
Return all responses as Response object.
1 parent 4d313df commit f1f20bc

File tree

2 files changed

+23
-8
lines changed

2 files changed

+23
-8
lines changed

src/Client/Client.php

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
class Client
1212
{
13-
const VERSION = '0.1.1';
13+
const VERSION = '0.2.0';
1414
const DEFAULT_HASH_ALGORITHM = 'RS256';
1515
const HEADER_API_KEY = 'API-Key';
1616

@@ -128,11 +128,7 @@ public function send(Request $request): Response
128128
$this->getRequestOptions($request)
129129
);
130130

131-
if (($statusCode = $response->getStatusCode()) >= 200 && $statusCode < 300) {
132-
return new Response($response);
133-
}
134-
135-
throw new RequestException($response->getBody());
131+
return new Response($response);
136132
} catch (ClientException $exception) {
137133
throw new RequestException($exception->getMessage());
138134
}

src/Client/Response.php

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,34 @@ class Response
1111
*/
1212
private $data;
1313

14+
/**
15+
* @var ResponseInterface
16+
*/
17+
private $response;
18+
1419
public function __construct(ResponseInterface $response)
1520
{
16-
if (($this->data = json_decode($response->getBody(), true)) === null) {
17-
throw new ResponseException("Could not decode response");
21+
$this->response = $response;
22+
23+
if (($this->data = json_decode($body = $response->getBody(), true)) === null) {
24+
throw new ResponseException("Could not decode response, expected valid JSON. Raw response: {$body}");
1825
}
1926
}
2027

28+
public function isSuccessful(): bool
29+
{
30+
$statusCode = $this->response->getStatusCode();
31+
32+
return $statusCode >= 200 && $statusCode < 300;
33+
}
34+
2135
public function getData(): array
2236
{
2337
return $this->data;
2438
}
39+
40+
public function getResponse(): ResponseInterface
41+
{
42+
return $this->response;
43+
}
2544
}

0 commit comments

Comments
 (0)