Skip to content

Commit 179e8fc

Browse files
committed
Improve exception error information, fix request stringify.
1 parent 4ac739d commit 179e8fc

6 files changed

Lines changed: 14 additions & 12 deletions

File tree

src/Exception/BadResponseException.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,9 @@ public function __construct(
1616
Request $request,
1717
?Response $response,
1818
int $code = 0,
19-
string $message = null,
19+
string $message = 'Unknown Bad Response Error occurred!',
2020
\Exception $previous = null
2121
) {
22-
$message = $message ?: "Unknown Bad Response Error #{$code} occurred!";
2322
parent::__construct($request, $response, $code, $message, $previous);
2423
}
2524
}

src/Exception/ClientException.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,12 @@ public function __construct(
2020
Request $request,
2121
?Response $response,
2222
int $code = 0,
23-
string $message = null,
23+
string $message = 'Client side error, please check your configurations and permissions!',
2424
\Exception $previous = null
2525
) {
26-
$message = $message ?: "Client Error #{$code}: " . Status::getReasonPhrase($code) . '!';
26+
if ($code === Status::NOT_FOUND) {
27+
$message = "Your request uri {$request->getUri()} is wrong, please check it and try again!";
28+
}
2729
parent::__construct($request, $response, $code, $message, $previous);
2830
}
2931
}

src/Exception/RequestException.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ public function __construct(
2626
\Exception $previous = null
2727
) {
2828
$code = $code ? $code : ($response ? $response->getStatusCode() : 0);
29-
parent::__construct($message, $code, $previous);
29+
$phrase = $response->getReasonPhrase();
30+
parent::__construct("HTTP {$code} {$phrase}: {$message}", $code, $previous);
3031
$this->request = $request;
3132
$this->response = $response;
3233
}

src/Exception/ServerException.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,10 @@ public function __construct(
2020
Request $request,
2121
?Response $response,
2222
int $code = 0,
23-
string $message = null,
23+
string $message = 'Server error occurred, please contact with the website service provider!',
2424
\Exception $previous = null
2525
)
2626
{
27-
$message = $message ?: "Server Error #{$code}: " . Status::getReasonPhrase($code) . '!';
2827
parent::__construct($request, $response, $code, $message, $previous);
2928
}
3029
}

src/Exception/TooManyRedirectsException.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ public function __construct(
2323
) {
2424
$this->redirect_headers = $redirects;
2525
$times = count($redirects);
26-
$message = "Too many redirects! more than {$times} times!";
26+
$location = $this->redirect_headers[$times - 1];
27+
$message = "Too many redirects! more than {$times} times to {$location} !";
2728
parent::__construct($request, $response, $code, $message, $previous);
2829
}
2930

src/Request.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -271,13 +271,13 @@ public function withUploadedFiles(array $uploadedFiles): self
271271

272272
public function __toString()
273273
{
274-
$req = trim($this->getMethod() . ' ' . $this->getRequestTarget()) . ' HTTP/' . $this->getProtocolVersion();
274+
$req = trim("{$this->getMethod()} {$this->getRequestTarget()}") . " HTTP/{$this->getProtocolVersion()}\r\n";
275275
if (!$this->hasHeader('host')) {
276-
$req .= "\r\nHost: " . $this->getUri()->getHost();
276+
$req .= "Host: {$this->getUri()->getHost()}\r\n";
277277
}
278-
$req .= $this->getHeadersString() . "\r\n\r\n" . $this->getBody();
278+
$req .= "{$this->getHeadersString()}\r\n\r\n" . ($this->hasBody() ? $this->getBody() : '');
279279

280280
return $req;
281281
}
282282

283-
}
283+
}

0 commit comments

Comments
 (0)