Compare commits
No commits in common. "6cb90d5ea2f74caa15f40e47907e7a5be38e7797" and "e59d6270804ee9fdfd212308d8e1d1a76b66993e" have entirely different histories.
6cb90d5ea2
...
e59d627080
@ -55,11 +55,6 @@ class HttpResponse
|
|||||||
|
|
||||||
public function render(): void
|
public function render(): void
|
||||||
{
|
{
|
||||||
$this->handleCors();
|
|
||||||
if ($this->method === 'options') {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
$match = $this->routeCollection->match($this->method, $this->parsedUrl['path']);
|
$match = $this->routeCollection->match($this->method, $this->parsedUrl['path']);
|
||||||
if ($match === null) {
|
if ($match === null) {
|
||||||
$this->render404();
|
$this->render404();
|
||||||
@ -115,56 +110,6 @@ class HttpResponse
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private function handleCors(): void
|
|
||||||
{
|
|
||||||
$origin = $this->request->header('Origin');
|
|
||||||
if (!$origin) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isset($this->appConfig['cors']['allow_origins'])) {
|
|
||||||
if (in_array($origin, $this->appConfig['cors']['allow_origins']) || in_array('*', $this->appConfig['cors']['allow_origins'])) {
|
|
||||||
header("Access-Control-Allow-Origin: {$origin}");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!empty($this->appConfig['cors']['allow_credentials'])) {
|
|
||||||
header('Access-Control-Allow-Credentials: true');
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($this->method !== 'options') {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isset($this->appConfig['cors']['allow_headers'])) {
|
|
||||||
$headers = explode(',', $this->request->header('Access-Control-Request-Headers'));
|
|
||||||
if (in_array('*', $this->appConfig['cors']['allow_headers'])) {
|
|
||||||
$allow_headers = $headers;
|
|
||||||
} else {
|
|
||||||
$allow_headers = array_intersect($this->appConfig['cors']['allow_headers'], $headers);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (count($allow_headers) > 0) {
|
|
||||||
header('Access-Control-Allow-Headers: ' . join(', ', $allow_headers));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isset($this->appConfig['cors']['allow_methods'])) {
|
|
||||||
if (in_array('*', $this->appConfig['cors']['allow_methods'])) {
|
|
||||||
$allow_methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'PATCH', 'POST', 'PUT'];
|
|
||||||
} else {
|
|
||||||
$allow_methods = $this->appConfig['cors']['allow_methods'];
|
|
||||||
}
|
|
||||||
|
|
||||||
if (count($allow_methods) > 0) {
|
|
||||||
header('Access-Control-Allow-Methods: ' . join(', ', $allow_methods));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$max_age = $this->appConfig['cors']['max_age'] ?? 600;
|
|
||||||
header("Access-Control-Max-Age: {$max_age}");
|
|
||||||
}
|
|
||||||
|
|
||||||
private function redirectToLogin(): void
|
private function redirectToLogin(): void
|
||||||
{
|
{
|
||||||
$this->request->session()->set('redirect_after_login', $this->rawUrl);
|
$this->request->session()->set('redirect_after_login', $this->rawUrl);
|
||||||
|
Loading…
Reference in New Issue
Block a user