koel/app/Http/Middleware/ForceHttps.php
2021-06-05 12:47:56 +02:00

33 lines
784 B
PHP

<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use Illuminate\Routing\UrlGenerator;
class ForceHttps
{
private UrlGenerator $url;
public function __construct(UrlGenerator $url)
{
$this->url = $url;
}
public function handle(Request $request, Closure $next) // @phpcs:ignore
{
if (config('koel.force_https')) {
$this->url->forceScheme('https');
$request->setTrustedProxies(
[$request->getClientIp()],
Request::HEADER_X_FORWARDED_FOR
| Request::HEADER_X_FORWARDED_HOST
| Request::HEADER_X_FORWARDED_PORT
| Request::HEADER_X_FORWARDED_PROTO
);
}
return $next($request);
}
}