get and serve headers in Request #2

Merged
bence merged 1 commits from feature/implement-header-parsing into master 2023-04-16 15:54:55 +02:00
2 changed files with 21 additions and 1 deletions

View File

@ -12,6 +12,8 @@ interface IRequest
public function post(string $key); public function post(string $key);
public function header(string $key);
public function session(): ISession; public function session(): ISession;
public function setUser(?IUser $user): void; public function setUser(?IUser $user): void;

View File

@ -15,15 +15,24 @@ class Request implements IRequest
private array $post; private array $post;
private array $headers;
private Session $session; private Session $session;
private ?IUser $user = null; private ?IUser $user = null;
public function __construct(string $base, array &$get, array &$post, array &$session, IUserRepository $userRepository) public function __construct(
string $base,
array &$get,
array &$post,
array $headers,
array &$session,
IUserRepository $userRepository)
{ {
$this->base = $base; $this->base = $base;
$this->get = &$get; $this->get = &$get;
$this->post = &$post; $this->post = &$post;
$this->headers = $headers;
$this->session = new Session($session); $this->session = new Session($session);
$userId = $this->session->get('userId'); $userId = $this->session->get('userId');
@ -64,6 +73,15 @@ class Request implements IRequest
return null; return null;
} }
public function header($key)
{
if (isset($this->headers[$key])) {
return $this->headers[$key];
}
return null;
}
public function session(): ISession public function session(): ISession
{ {
return $this->session; return $this->session;