BookStack/app/Http/Middleware/TrustProxies.php

42 lines
971 B
PHP
Raw Normal View History

2017-11-19 10:56:06 -05:00
<?php
namespace BookStack\Http\Middleware;
use Closure;
2017-11-19 10:56:06 -05:00
use Fideloper\Proxy\TrustProxies as Middleware;
use Illuminate\Http\Request;
2017-11-19 10:56:06 -05:00
class TrustProxies extends Middleware
{
/**
* The trusted proxies for this application.
*
* @var array
*/
protected $proxies;
/**
2019-09-06 17:14:39 -04:00
* The headers that should be used to detect proxies.
2017-11-19 10:56:06 -05:00
*
2019-09-06 17:14:39 -04:00
* @var int
2017-11-19 10:56:06 -05:00
*/
2019-09-06 17:14:39 -04:00
protected $headers = Request::HEADER_X_FORWARDED_ALL;
/**
* Handle the request, Set the correct user-configured proxy information.
* @param Request $request
* @param Closure $next
* @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 10:56:06 -05:00
}