Create the EncryptedQueryParamsHandling middleware

Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
This commit is contained in:
Maurício Meneghini Fauth 2023-08-15 18:43:17 -03:00
parent 1ee95d732d
commit 7def2dffd1
No known key found for this signature in database
GPG Key ID: 6A16FD38AFC89CC8
2 changed files with 27 additions and 2 deletions

View File

@ -22,6 +22,7 @@ use PhpMyAdmin\Http\ServerRequest;
use PhpMyAdmin\Identifiers\DatabaseName;
use PhpMyAdmin\Identifiers\TableName;
use PhpMyAdmin\Middleware\ConfigLoading;
use PhpMyAdmin\Middleware\EncryptedQueryParamsHandling;
use PhpMyAdmin\Middleware\ErrorHandling;
use PhpMyAdmin\Middleware\OutputBuffering;
use PhpMyAdmin\Middleware\PhpExtensionsChecking;
@ -96,6 +97,7 @@ class Application
$this->template,
$this->responseFactory,
));
$requestHandler->add(new EncryptedQueryParamsHandling());
$runner = new RequestHandlerRunner(
$requestHandler,
@ -121,8 +123,6 @@ class Application
$route = $request->getRoute();
$isMinimumCommon = $isSetupPage || $route === '/import-status' || $route === '/url' || $route === '/messages';
$request = Core::populateRequestWithEncryptedQueryParams($request);
$container = Core::getContainerBuilder();
/**

View File

@ -0,0 +1,25 @@
<?php
declare(strict_types=1);
namespace PhpMyAdmin\Middleware;
use PhpMyAdmin\Core;
use PhpMyAdmin\Http\ServerRequest;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\MiddlewareInterface;
use Psr\Http\Server\RequestHandlerInterface;
use function assert;
final class EncryptedQueryParamsHandling implements MiddlewareInterface
{
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
assert($request instanceof ServerRequest);
$request = Core::populateRequestWithEncryptedQueryParams($request);
return $handler->handle($request);
}
}