]> BookStack Code Mirror - bookstack/blob - app/Http/Middleware/TrustProxies.php
Updated translator & dependency attribution before release v25.05.1
[bookstack] / app / Http / Middleware / TrustProxies.php
1 <?php
2
3 namespace BookStack\Http\Middleware;
4
5 use Closure;
6 use Illuminate\Http\Middleware\TrustProxies as Middleware;
7 use Illuminate\Http\Request;
8
9 class TrustProxies extends Middleware
10 {
11     /**
12      * The trusted proxies for this application.
13      *
14      * @var array
15      */
16     protected $proxies;
17
18     /**
19      * The headers that should be used to detect proxies.
20      *
21      * @var int
22      */
23     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;
24
25     /**
26      * Handle the request, Set the correct user-configured proxy information.
27      *
28      * @param Request $request
29      * @param Closure $next
30      *
31      * @return mixed
32      */
33     public function handle(Request $request, Closure $next)
34     {
35         $setProxies = config('app.proxies');
36         if ($setProxies !== '**' && $setProxies !== '*' && $setProxies !== '') {
37             $setProxies = explode(',', $setProxies);
38         }
39         $this->proxies = $setProxies;
40
41         return parent::handle($request, $next);
42     }
43 }
Morty Proxy This is a proxified and sanitized view of the page, visit original site.