add status codes and status code rendering

This commit is contained in:
Dennis Eichhorn 2023-03-26 22:50:02 +00:00
parent ec210f8b8e
commit f9ae1c3c85

View File

@ -231,6 +231,8 @@ final class HttpHeader extends HeaderAbstract
throw new \Exception('Already locked'); throw new \Exception('Already locked');
} }
$this->generate($this->status);
foreach ($this->header as $name => $arr) { foreach ($this->header as $name => $arr) {
foreach ($arr as $value) { foreach ($arr as $value) {
\header(empty($name) \header(empty($name)
@ -251,9 +253,15 @@ final class HttpHeader extends HeaderAbstract
public function generate(int $code) : void public function generate(int $code) : void
{ {
switch ($code) { switch ($code) {
case RequestStatusCode::R_200:
$this->generate200();
break;
case RequestStatusCode::R_400: case RequestStatusCode::R_400:
$this->generate400(); $this->generate400();
break; break;
case RequestStatusCode::R_401:
$this->generate401();
break;
case RequestStatusCode::R_403: case RequestStatusCode::R_403:
$this->generate403(); $this->generate403();
break; break;
@ -274,6 +282,20 @@ final class HttpHeader extends HeaderAbstract
} }
} }
/**
* Generate predefined header.
*
* @return void
*
* @since 1.0.0
*/
private function generate200() : void
{
$this->set('', 'HTTP/1.0 200 OK');
$this->set('Status', 'Status: HTTP/1.0 200 OK');
\http_response_code(200);
}
/** /**
* Generate predefined header. * Generate predefined header.
* *
@ -285,7 +307,21 @@ final class HttpHeader extends HeaderAbstract
{ {
$this->set('', 'HTTP/1.0 400 Bad Request'); $this->set('', 'HTTP/1.0 400 Bad Request');
$this->set('Status', 'Status: HTTP/1.0 400 Bad Request'); $this->set('Status', 'Status: HTTP/1.0 400 Bad Request');
\http_response_code(403); \http_response_code(400);
}
/**
* Generate predefined header.
*
* @return void
*
* @since 1.0.0
*/
private function generate401() : void
{
$this->set('', 'HTTP/1.0 401 Unauthorized');
$this->set('Status', 'Status: HTTP/1.0 401 Unauthorized');
\http_response_code(401);
} }
/** /**