Fix that (raw)content is always executed during Module::run()

This commit is contained in:
Philipp Holzer 2021-11-27 13:41:37 +01:00
parent f245fdaa5d
commit 7cba74bb6c
Signed by: nupplaPhil
GPG Key ID: 24A7501396EB5432
1 changed files with 15 additions and 16 deletions

View File

@ -220,23 +220,22 @@ abstract class BaseModule implements ICanHandleRequests
case Router::PUT:
$this->put();
break;
default:
$timestamp = microtime(true);
// "rawContent" is especially meant for technical endpoints.
// This endpoint doesn't need any theme initialization or other comparable stuff.
$this->rawContent($request);
}
try {
$arr = ['content' => ''];
Hook::callAll(static::class . '_mod_content', $arr);
$this->response->addContent($arr['content']);
$this->response->addContent($this->content($_REQUEST));
} catch (HTTPException $e) {
$this->response->addContent((new ModuleHTTPException())->content($e));
} finally {
$this->profiler->set(microtime(true) - $timestamp, 'content');
}
break;
$timestamp = microtime(true);
// "rawContent" is especially meant for technical endpoints.
// This endpoint doesn't need any theme initialization or other comparable stuff.
$this->rawContent($request);
try {
$arr = ['content' => ''];
Hook::callAll(static::class . '_mod_content', $arr);
$this->response->addContent($arr['content']);
$this->response->addContent($this->content($_REQUEST));
} catch (HTTPException $e) {
$this->response->addContent((new ModuleHTTPException())->content($e));
} finally {
$this->profiler->set(microtime(true) - $timestamp, 'content');
}
return $this->response->generate();