Skip to content

Commit

Permalink
Merge pull request #4 from php-middleware/use-compatibility-tool
Browse files Browse the repository at this point in the history
Use double-pass-compatibility
  • Loading branch information
snapshotpl committed May 11, 2017
2 parents 6e94208 + c5896cd commit 77c5501
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 17 deletions.
3 changes: 2 additions & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@
"psr/log": "^1.0",
"psr/http-message": "^1.0",
"zendframework/zend-diactoros": "^1.4",
"http-interop/http-middleware": "^0.4.1"
"http-interop/http-middleware": "^0.4.1",
"php-middleware/double-pass-compatibility": "^1.0"
},
"require-dev": {
"phpunit/phpunit": "^6.1"
Expand Down
21 changes: 5 additions & 16 deletions src/LogMiddleware.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@

use Interop\Http\ServerMiddleware\DelegateInterface;
use Interop\Http\ServerMiddleware\MiddlewareInterface;
use PhpMiddleware\DoublePassCompatibilityTrait;
use PhpMiddleware\LogHttpMessages\Formatter\ResponseFormatter;
use PhpMiddleware\LogHttpMessages\Formatter\ServerRequestFormatter;
use Psr\Http\Message\ResponseInterface as Response;
Expand All @@ -15,6 +16,8 @@

final class LogMiddleware implements MiddlewareInterface
{
use DoublePassCompatibilityTrait;

const LOG_MESSAGE = 'Request/Response';

private $logger;
Expand All @@ -37,32 +40,18 @@ public function __construct(
$this->logMessage = $logMessage;
}

public function __invoke(ServerRequest $request, Response $response, callable $next) : Response
{
$outResponse = $next($request, $response);

$this->logMessages($request, $outResponse);

return $outResponse;
}

public function process(ServerRequest $request, DelegateInterface $delegate) : Response
{
$response = $delegate->process($request);

$this->logMessages($request, $response);

return $response;
}

private function logMessages(ServerRequest $request, Response $response)
{
$formattedRequest = $this->requestFormatter->formatServerRequest($request);
$formattedResponse = $this->responseFormatter->formatResponse($response);

$this->logger->log($this->level, $this->logMessage, [
'request' => $formattedRequest->getValue(),
'response' => $formattedResponse->getValue(),
]);

return $response;
}
}

0 comments on commit 77c5501

Please sign in to comment.