Make the input preprocessors actually render an error page.

This commit is contained in:
flash 2025-03-20 19:29:51 +00:00
parent 201c6e0ab3
commit 1ba9e8fa34
Signed by: flash
GPG key ID: 2C9C2C574D47FE3E
2 changed files with 10 additions and 14 deletions

View file

@ -1 +1 @@
0.2503.200328
0.2503.201929

View file

@ -1,7 +1,7 @@
<?php
// RouterProcessors.php
// Created: 2025-03-15
// Updated: 2025-03-15
// Updated: 2025-03-20
namespace Index\Http\Routing;
@ -28,13 +28,11 @@ class RouterProcessors implements RouteHandler {
return true;
}
/** @return void|int */
#[Preprocessor('input:urlencoded')]
public function preInputUrlencoded(HandlerContext $context, RequestInterface $request, bool $required = true): void {
if(!$this->handlePreInputUrlencoded($context, $request) && $required) {
$context->response->statusCode = 400;
$context->response->reasonPhrase = '';
$context->halt();
}
public function preInputUrlencoded(HandlerContext $context, RequestInterface $request, bool $required = true) {
if(!$this->handlePreInputUrlencoded($context, $request) && $required)
return 400;
}
private function handlePreInputMultipart(HandlerContext $context, RequestInterface $request): bool {
@ -51,8 +49,9 @@ class RouterProcessors implements RouteHandler {
return true;
}
/** @return void|int */
#[Preprocessor('input:multipart')]
public function preInputMultipart(HandlerContext $context, RequestInterface $request, bool $required = true): void {
public function preInputMultipart(HandlerContext $context, RequestInterface $request, bool $required = true) {
try {
$result = $this->handlePreInputMultipart($context, $request);
} catch(RuntimeException $ex) {
@ -60,11 +59,8 @@ class RouterProcessors implements RouteHandler {
$required = true;
}
if(!$result && $required) {
$context->response->statusCode = 400;
$context->response->reasonPhrase = '';
$context->halt();
}
if(!$result && $required)
return 400;
}
#[Postprocessor('output:stream')]