CloudFlare::handle()   A
last analyzed

Complexity

Conditions 4
Paths 4

Size

Total Lines 11
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 5
c 1
b 0
f 0
dl 0
loc 11
rs 10
cc 4
nc 4
nop 2
1
<?php
2
3
namespace TobyMaxham\Helper\Http\Middleware;
4
5
use Closure;
6
use Illuminate\Http\Request;
7
use Illuminate\Support\Facades\Redirect;
8
9
/**
10
 * Class CloudFlare.
11
 *
12
 * @author Tobias Maxham <[email protected]>
13
 */
14
class CloudFlare
15
{
16
    /**
17
     * Handle an incoming request.
18
     *
19
     * @param Request $request
20
     * @param Closure $next
21
     *
22
     * @return mixed
23
     */
24
    public function handle(Request $request, Closure $next)
25
    {
26
        if ('https' == $request->server('HTTP_X_FORWARDED_PROTO')) {
27
            $request->server->set('HTTPS', 'on');
28
        }
29
30
        if (! $request->secure() && 'production' === env('APP_ENV')) {
31
            return Redirect::secure($request->getRequestUri());
32
        }
33
34
        return $next($request);
35
    }
36
}
37