Skip to content

Commit 7aa683f

Browse files
fix: response code and message on exception case
This is a bug fix for exceptions case
1 parent e4eaa68 commit 7aa683f

File tree

1 file changed

+17
-4
lines changed

1 file changed

+17
-4
lines changed

Plugin/FrontControllerDispatchAfter.php

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,11 +55,24 @@ public function __construct(
5555
public function afterDispatch(Rest $subject, $result, RequestInterface $request)
5656
{
5757
if ($this->config->isEnabled()) {
58-
$responseCode = (string)$result->getStatusCode();
59-
$resposeBody = $result->getContent();
60-
$resposeBody = trim($resposeBody, '"');
61-
$responseDateTime = $this->date->gmtDate();
58+
$exceptions = $result->getException();
59+
60+
if (!empty($exceptions)) {
61+
$responseCode = '';
62+
$resposeBody = '';
63+
foreach ($exceptions as $exception) {
64+
$responseCode .= (string)$exception->getHttpCode() . ' ';
65+
$resposeBody .= $exception->getMessage() . ' ';
66+
}
67+
$responseCode = rtrim($responseCode);
68+
$resposeBody = rtrim($resposeBody);
69+
} else {
70+
$responseCode = (string)$result->getStatusCode();
71+
$resposeBody = $result->getContent();
72+
$resposeBody = trim($resposeBody, '"');
73+
}
6274

75+
$responseDateTime = $this->date->gmtDate();
6376
$this->logHandle->after($responseCode, $resposeBody, $responseDateTime);
6477
}
6578
return $result;

0 commit comments

Comments
 (0)