AbstractAction   A
last analyzed

Complexity

Total Complexity 6

Size/Duplication

Total Lines 37
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
wmc 6
dl 0
loc 37
ccs 0
cts 24
cp 0
rs 10
c 0
b 0
f 0

6 Methods

Rating   Name   Duplication   Size   Complexity  
A delete() 0 3 1
A onRESTRequest() 0 6 1
A put() 0 3 1
A get() 0 3 1
A post() 0 3 1
A patch() 0 3 1
1
<?php
2
3
namespace Phrest\API;
4
5
abstract class AbstractAction implements
6
    \Interop\Http\ServerMiddleware\MiddlewareInterface,
7
    \Psr\Log\LoggerAwareInterface
8
{
9
    use RESTActionTrait;
10
11
    protected function onRESTRequest(\Psr\Http\Message\ServerRequestInterface $request, string $method): \Psr\Http\Message\ResponseInterface
12
    {
13
        $response = call_user_func_array([$this, $method], [$request]);
14
15
        // if there is no response -> create a response (=204 No Content)
16
        return $response ?? new \Zend\Diactoros\Response\EmptyResponse();
17
    }
18
19
    public function get(\Psr\Http\Message\ServerRequestInterface $request): ?\Psr\Http\Message\ResponseInterface
20
    {
21
        $this->throwMethodNotAllowed('GET');
22
    }
23
24
    public function post(\Psr\Http\Message\ServerRequestInterface $request): ?\Psr\Http\Message\ResponseInterface
25
    {
26
        $this->throwMethodNotAllowed('POST');
27
    }
28
29
    public function put(\Psr\Http\Message\ServerRequestInterface $request): ?\Psr\Http\Message\ResponseInterface
30
    {
31
        $this->throwMethodNotAllowed('PUT');
32
    }
33
34
    public function patch(\Psr\Http\Message\ServerRequestInterface $request): ?\Psr\Http\Message\ResponseInterface
35
    {
36
        $this->throwMethodNotAllowed('PATCH');
37
    }
38
39
    public function delete(\Psr\Http\Message\ServerRequestInterface $request): ?\Psr\Http\Message\ResponseInterface
40
    {
41
        $this->throwMethodNotAllowed('DELETE');
42
    }
43
}
44