BookStack/app/Http/Middleware/TrustProxies.php

44 lines
1.1 KiB
PHP
Raw Normal View History

2017-11-19 15:56:06 +00:00
<?php
namespace BookStack\Http\Middleware;
use Closure;
use Illuminate\Http\Middleware\TrustProxies as Middleware;
use Illuminate\Http\Request;
2017-11-19 15:56:06 +00:00
class TrustProxies extends Middleware
{
/**
* The trusted proxies for this application.
*
* @var array
*/
protected $proxies;
/**
2019-09-06 21:14:39 +00:00
* The headers that should be used to detect proxies.
2017-11-19 15:56:06 +00:00
*
2019-09-06 21:14:39 +00:00
* @var int
2017-11-19 15:56:06 +00:00
*/
protected $headers = Request::HEADER_X_FORWARDED_FOR | Request::HEADER_X_FORWARDED_HOST | Request::HEADER_X_FORWARDED_PORT | Request::HEADER_X_FORWARDED_PROTO | Request::HEADER_X_FORWARDED_AWS_ELB;
/**
* Handle the request, Set the correct user-configured proxy information.
2021-06-26 15:23:15 +00:00
*
* @param Request $request
* @param Closure $next
2021-06-26 15:23:15 +00:00
*
* @return mixed
*/
public function handle(Request $request, Closure $next)
{
$setProxies = config('app.proxies');
if ($setProxies !== '**' && $setProxies !== '*' && $setProxies !== '') {
$setProxies = explode(',', $setProxies);
}
$this->proxies = $setProxies;
return parent::handle($request, $next);
}
2017-11-19 15:56:06 +00:00
}