From a9805cfce214ea5bfc0f5ec7907fbe74cf101ff7 Mon Sep 17 00:00:00 2001 From: Roland Franssen Date: Thu, 10 Feb 2022 18:41:11 +0100 Subject: [PATCH 1/2] support message@1.13 --- spec/LoggerPluginSpec.php | 2 ++ src/LoggerPlugin.php | 12 +++++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/spec/LoggerPluginSpec.php b/spec/LoggerPluginSpec.php index 9143a23..0ba9d54 100644 --- a/spec/LoggerPluginSpec.php +++ b/spec/LoggerPluginSpec.php @@ -41,6 +41,7 @@ function it_logs_request_and_response( ) { $formatter->formatRequest($request)->willReturn('GET / 1.1'); $formatter->formatResponse($response)->willReturn('200 OK 1.1'); + $formatter->formatResponseForRequest($response, $request)->willReturn('200 OK 1.1'); $logger->info( "Sending request:\nGET / 1.1", @@ -109,6 +110,7 @@ function it_logs_response_within_exception( ) { $formatter->formatRequest($request)->willReturn('GET / 1.1'); $formatter->formatResponse($response)->willReturn('403 Forbidden 1.1'); + $formatter->formatResponseForRequest($response, $request)->willReturn('403 Forbidden 1.1'); $exception = new HttpException('Forbidden', $request->getWrappedObject(), $response->getWrappedObject()); diff --git a/src/LoggerPlugin.php b/src/LoggerPlugin.php index 0337cd6..162dc9b 100644 --- a/src/LoggerPlugin.php +++ b/src/LoggerPlugin.php @@ -35,10 +35,13 @@ protected function doHandleRequest(RequestInterface $request, callable $next, ca $uid = uniqid('', true); $this->logger->info(sprintf("Sending request:\n%s", $this->formatter->formatRequest($request)), ['request' => $request, 'uid' => $uid]); - return $next($request)->then(function (ResponseInterface $response) use ($start, $uid) { + return $next($request)->then(function (ResponseInterface $response) use ($start, $uid, $request) { $milliseconds = (int) round(hrtime(true) / 1E6 - $start); + $formattedResponse = method_exists($this->formatter, 'formatResponseForRequest') + ? $this->formatter->formatResponseForRequest($response, $request) + : $this->formatter->formatResponse($response); $this->logger->info( - sprintf("Received response:\n%s", $this->formatter->formatResponse($response)), + sprintf("Received response:\n%s", $formattedResponse), [ 'milliseconds' => $milliseconds, 'uid' => $uid, @@ -49,8 +52,11 @@ protected function doHandleRequest(RequestInterface $request, callable $next, ca }, function (Exception $exception) use ($request, $start, $uid) { $milliseconds = (int) round((hrtime(true) / 1E6 - $start)); if ($exception instanceof Exception\HttpException) { + $formattedResponse = method_exists($this->formatter, 'formatResponseForRequest') + ? $this->formatter->formatResponseForRequest($exception->getResponse(), $exception->getRequest()) + : $this->formatter->formatResponse($exception->getResponse()); $this->logger->error( - sprintf("Error:\n%s\nwith response:\n%s", $exception->getMessage(), $this->formatter->formatResponse($exception->getResponse())), + sprintf("Error:\n%s\nwith response:\n%s", $exception->getMessage(), $formattedResponse), [ 'exception' => $exception, 'milliseconds' => $milliseconds, From d40ccee211ce679bb7ce4f2f42e5c65efa125bff Mon Sep 17 00:00:00 2001 From: Roland Franssen Date: Thu, 10 Feb 2022 19:03:17 +0100 Subject: [PATCH 2/2] ye --- spec/LoggerPluginSpec.php | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/spec/LoggerPluginSpec.php b/spec/LoggerPluginSpec.php index 0ba9d54..91325a1 100644 --- a/spec/LoggerPluginSpec.php +++ b/spec/LoggerPluginSpec.php @@ -40,8 +40,11 @@ function it_logs_request_and_response( ResponseInterface $response ) { $formatter->formatRequest($request)->willReturn('GET / 1.1'); - $formatter->formatResponse($response)->willReturn('200 OK 1.1'); - $formatter->formatResponseForRequest($response, $request)->willReturn('200 OK 1.1'); + if (method_exists(Formatter\SimpleFormatter::class, 'formatResponseForRequest')) { + $formatter->formatResponseForRequest($response, $request)->willReturn('200 OK 1.1'); + } else { + $formatter->formatResponse($response)->willReturn('200 OK 1.1'); + } $logger->info( "Sending request:\nGET / 1.1", @@ -109,8 +112,11 @@ function it_logs_response_within_exception( ResponseInterface $response ) { $formatter->formatRequest($request)->willReturn('GET / 1.1'); - $formatter->formatResponse($response)->willReturn('403 Forbidden 1.1'); - $formatter->formatResponseForRequest($response, $request)->willReturn('403 Forbidden 1.1'); + if (method_exists(Formatter\SimpleFormatter::class, 'formatResponseForRequest')) { + $formatter->formatResponseForRequest($response, $request)->willReturn('403 Forbidden 1.1'); + } else { + $formatter->formatResponse($response)->willReturn('403 Forbidden 1.1'); + } $exception = new HttpException('Forbidden', $request->getWrappedObject(), $response->getWrappedObject());