Completed
Push — master ( dc322e...438d0e )
by Mahmoud
03:27
created

ShipHttpKernel   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 82
Duplicated Lines 0 %

Coupling/Cohesion

Components 2
Dependencies 1

Importance

Changes 0
Metric Value
wmc 2
lcom 2
cbo 1
dl 0
loc 82
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A registerMiddlewares() 0 6 1
A registerMiddlewareGroups() 0 6 1
1
<?php
2
3
namespace App\Ship\Engine\Kernels;
4
5
use Illuminate\Foundation\Http\Kernel as LaravelHttpKernel;
6
7
/**
8
 * Class ShipHttpKernel
9
 *
10
 * A.K.A (app/Http/Kernel.php)
11
 *
12
 * @author  Mahmoud Zalt  <[email protected]>
13
 */
14
class ShipHttpKernel extends LaravelHttpKernel
15
{
16
17
    /**
18
     * The application's global HTTP middleware stack.
19
     *
20
     * These middleware are run during every request to your application.
21
     *
22
     * @var array
23
     */
24
    protected $middleware = [
25
        // Laravel middleware's:
26
        \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
27
        \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
28
        \App\Ship\Features\Middlewares\Http\TrimStrings::class,
29
        \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
30
31
        // CORS package middleware
32
        \Barryvdh\Cors\HandleCors::class,
33
    ];
34
35
    /**
36
     * The application's route middleware groups.
37
     *
38
     * @var array
39
     */
40
    protected $middlewareGroups = [
41
        'web' => [
42
            \App\Ship\Features\Middlewares\Http\EncryptCookies::class,
43
            \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
44
            \Illuminate\Session\Middleware\StartSession::class,
45
            // \Illuminate\Session\Middleware\AuthenticateSession::class,
46
            \Illuminate\View\Middleware\ShareErrorsFromSession::class,
47
            \App\Ship\Features\Middlewares\Http\VerifyCsrfToken::class,
48
            \Illuminate\Routing\Middleware\SubstituteBindings::class,
49
        ],
50
51
        'api' => [
52
            // Laravel middleware's:
53
            'bindings',
54
55
            // Dingo Package throttle middleware
56
            'api.throttle',
57
        ],
58
    ];
59
60
    /**
61
     * The application's route middleware.
62
     *
63
     * These middleware may be assigned to groups or used individually.
64
     *
65
     * @var array
66
     */
67
    protected $routeMiddleware = [
68
69
    ];
70
71
    /**
72
     * @param array $middlewares
73
     *
74
     * @return  $this
75
     */
76
    public function registerMiddlewares(array $middlewares = [])
77
    {
78
        $this->middleware = array_merge($this->middleware, $middlewares);
79
80
        return $this;
81
    }
82
83
    /**
84
     * @param array $middlewareGroups
85
     *
86
     * @return  $this
87
     */
88
    public function registerMiddlewareGroups(array $middlewareGroups = [])
89
    {
90
        $this->middlewareGroups = array_merge($this->middlewareGroups, $middlewareGroups);
91
92
        return $this;
93
    }
94
95
}
96