Skip to content

Commit

Permalink
Convert AccessException's request property to a properly validated me…
Browse files Browse the repository at this point in the history
…thod
  • Loading branch information
Pierstoval committed Sep 23, 2024
1 parent 115979f commit 0a143ca
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 3 deletions.
14 changes: 13 additions & 1 deletion src/Glpi/Exception/Access/AccessException.php
Original file line number Diff line number Diff line change
Expand Up @@ -39,12 +39,24 @@

abstract class AccessException extends \RuntimeException
{
protected Request $request;
private ?Request $request = null;

public function setRequest(Request $request): void
{
$this->request = $request;
}

public function getRequest(): Request
{
if (!$this->request) {
throw new \RuntimeException(\sprintf(
'Request not set in "%s" exception class. Access error listener might be wrongly configured.',
static::class,
));
}

return $this->request;
}

abstract public function asResponse(): Response;
}
6 changes: 4 additions & 2 deletions src/Glpi/Exception/Access/RequiresHttpsException.php
Original file line number Diff line number Diff line change
Expand Up @@ -41,13 +41,15 @@ class RequiresHttpsException extends AccessException
{
public function asResponse(): Response
{
$request = $this->getRequest();

$cnt = TemplateRenderer::getInstance()->render(
'pages/https_only.html.twig',
[
'secured_url' => 'https://' . $this->request->getHost() . $this->request->getUri(),
'secured_url' => 'https://' . $request->getHost() . $request->getUri(),
]
);

return new Response($cnt);
return new Response($cnt, 400);
}
}

0 comments on commit 0a143ca

Please sign in to comment.