3 namespace BookStack\Http\Middleware;
6 use Fideloper\Proxy\TrustProxies as Middleware;
7 use Illuminate\Http\Request;
9 class TrustProxies extends Middleware
12 * The trusted proxies for this application.
19 * The current proxy header mappings.
23 protected $headers = [
24 Request::HEADER_FORWARDED => 'FORWARDED',
25 Request::HEADER_X_FORWARDED_FOR => 'X_FORWARDED_FOR',
26 Request::HEADER_X_FORWARDED_HOST => 'X_FORWARDED_HOST',
27 Request::HEADER_X_FORWARDED_PORT => 'X_FORWARDED_PORT',
28 Request::HEADER_X_FORWARDED_PROTO => 'X_FORWARDED_PROTO',
32 * Handle the request, Set the correct user-configured proxy information.
33 * @param Request $request
34 * @param Closure $next
37 public function handle($request, Closure $next)
39 $setProxies = config('app.proxies');
40 if ($setProxies !== '**' && $setProxies !== '*' && $setProxies !== '') {
41 $setProxies = explode(',', $setProxies);
43 $this->proxies = $setProxies;
45 return parent::handle($request, $next);