Completed
Push — master ( 279d4e...5d09e0 )
by Elf
02:49
created

ThrottleRequests   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 32
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
dl 0
loc 32
ccs 0
cts 11
cp 0
rs 10
c 0
b 0
f 0
wmc 3
lcom 0
cbo 1

2 Methods

Rating   Name   Duplication   Size   Complexity  
A buildResponse() 0 8 2
A addHeaders() 0 4 1
1
<?php
2
3
namespace ElfSundae\Laravel\Support\Http\Middleware;
4
5
use Symfony\Component\HttpFoundation\Response;
6
use Illuminate\Routing\Middleware\ThrottleRequests as BaseThrottle;
7
8
class ThrottleRequests extends BaseThrottle
9
{
10
    /**
11
     * Create a 'too many attempts' response.
12
     *
13
     * @param  string  $key
14
     * @param  int  $maxAttempts
15
     * @return \Illuminate\Http\Response|\Symfony\Component\HttpFoundation\Response
16
     */
17
    protected function buildResponse($key, $maxAttempts)
18
    {
19
        if (app('request')->expectsJson()) {
20
            return api('操作太频繁,请稍后再试。', 429);
21
        }
22
23
        return parent::buildResponse($key, $maxAttempts);
24
    }
25
26
    /**
27
     * Add the limit header information to the given response.
28
     *
29
     * @param  \Symfony\Component\HttpFoundation\Response  $response
30
     * @param  int  $maxAttempts
31
     * @param  int  $remainingAttempts
32
     * @param  int|null  $retryAfter
33
     * @return \Symfony\Component\HttpFoundation\Response
34
     */
35
    protected function addHeaders(Response $response, $maxAttempts, $remainingAttempts, $retryAfter = null)
36
    {
37
        return $response;
38
    }
39
}
40