Fixed response for .json being HTML

This commit is contained in:
Matias Griese
2020-03-25 15:08:00 +02:00
parent f8bf7ba010
commit 068948e1a2
2 changed files with 10 additions and 2 deletions

View File

@@ -101,6 +101,7 @@
]
},
"scripts": {
"api-17": "vendor/bin/phpdoc-md generate system/src > user/pages/14.api/default.17.md",
"api-16": "vendor/bin/phpdoc-md generate system/src > user/pages/14.api/default.16.md",
"api-15": "vendor/bin/phpdoc-md generate system/src > user/pages/14.api/default.md",
"post-create-project-cmd": "bin/grav install",

View File

@@ -16,6 +16,7 @@ use Grav\Common\Debugger;
use Grav\Common\Grav;
use Grav\Framework\Psr7\Response;
use Grav\Framework\RequestHandler\Exception\RequestException;
use Grav\Framework\Route\Route;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
@@ -135,8 +136,14 @@ trait ControllerResponseTrait
$accept = $this->getAccept(['application/json', 'text/html']);
if ($accept === 'text/html') {
$request = $this->getRequest();
$request = $this->getRequest();
$context = $request->getAttributes();
/** @var Route $route */
$route = $context['route'] ?? null;
$ext = $route ? $route->getExtension() : null;
if ($ext !== 'json' && $accept === 'text/html') {
$method = $request->getMethod();
// On POST etc, redirect back to the previous page.