Create the ResponseRendererLoading middleware

Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
This commit is contained in:
Maurício Meneghini Fauth 2023-08-16 18:40:59 -03:00
parent 52e1040413
commit 893e5e798a
No known key found for this signature in database
GPG Key ID: 6A16FD38AFC89CC8
2 changed files with 37 additions and 9 deletions

View File

@ -34,6 +34,7 @@ use PhpMyAdmin\Middleware\OutputBuffering;
use PhpMyAdmin\Middleware\PhpExtensionsChecking;
use PhpMyAdmin\Middleware\PhpSettingsConfiguration;
use PhpMyAdmin\Middleware\RequestProblemChecking;
use PhpMyAdmin\Middleware\ResponseRendererLoading;
use PhpMyAdmin\Middleware\RouteParsing;
use PhpMyAdmin\Middleware\ServerConfigurationChecking;
use PhpMyAdmin\Middleware\SessionHandling;
@ -126,6 +127,7 @@ class Application
$requestHandler->add(new Authentication($this->config, $this->template, $this->responseFactory));
$requestHandler->add(new DatabaseServerVersionChecking($this->config, $this->template, $this->responseFactory));
$requestHandler->add(new SqlDelimiterSetting($this->config));
$requestHandler->add(new ResponseRendererLoading($this->config));
$runner = new RequestHandlerRunner(
$requestHandler,
@ -153,16 +155,7 @@ class Application
/** @var ThemeManager $themeManager */
$themeManager = $container->get(ThemeManager::class);
$currentServer = $this->config->getCurrentServer();
if ($currentServer === null) {
$responseRenderer = ResponseRenderer::getInstance();
$responseRenderer->setAjax($request->isAjax());
$responseRenderer->getHeader()->disableMenuAndConsole();
$responseRenderer->setMinimalFooter();
}
$responseRenderer = ResponseRenderer::getInstance();
$responseRenderer->setAjax($request->isAjax());
/**
* There is no point in even attempting to process

View File

@ -0,0 +1,35 @@
<?php
declare(strict_types=1);
namespace PhpMyAdmin\Middleware;
use PhpMyAdmin\Config;
use PhpMyAdmin\Http\ServerRequest;
use PhpMyAdmin\ResponseRenderer;
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 ResponseRendererLoading implements MiddlewareInterface
{
public function __construct(private readonly Config $config)
{
}
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
assert($request instanceof ServerRequest);
$responseRenderer = ResponseRenderer::getInstance();
$responseRenderer->setAjax($request->isAjax());
if ($this->config->getCurrentServer() === null) {
$responseRenderer->getHeader()->disableMenuAndConsole();
$responseRenderer->setMinimalFooter();
}
return $handler->handle($request);
}
}