MessageValidatorMiddleware   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 31
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 2
eloc 6
c 1
b 0
f 0
dl 0
loc 31
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A handle() 0 7 1
A __construct() 0 3 1
1
<?php
2
3
namespace Digia\Lumen\SnsMiddleware\Http\Middleware;
4
5
use Aws\Sns\MessageValidator;
6
use Closure;
7
use Digia\Lumen\SnsMiddleware\MessageFactory;
8
use Illuminate\Http\Request;
9
use Jalle19\Laravel\LostInterfaces\Http\Middleware\Middleware;
10
11
/**
12
 * Class MessageValidatorMiddleware
13
 * @package Digia\Lumen\SnsMiddleware\Http\Middleware
14
 */
15
class MessageValidatorMiddleware implements Middleware
16
{
17
18
    /**
19
     * @var MessageValidator
20
     */
21
    protected $messageValidator;
22
23
    /**
24
     * MessageValidatorMiddleware constructor.
25
     *
26
     * @param MessageValidator $messageValidator
27
     */
28
    public function __construct(MessageValidator $messageValidator)
29
    {
30
        $this->messageValidator = $messageValidator;
31
    }
32
33
    /**
34
     * @inheritdoc
35
     *
36
     * @throws \InvalidArgumentException
37
     * @throws \Aws\Sns\Exception\InvalidSnsMessageException
38
     */
39
    public function handle(Request $request, Closure $next)
40
    {
41
        $message = MessageFactory::createFromRequest($request);
42
43
        $this->messageValidator->validate($message);
44
45
        return $next($request);
46
    }
47
48
}
49