Issues (41)

src/Helpers/HelperFactory.php (1 issue)

Severity
1
<?php
2
3
namespace DMT\Aura\Psr\Helpers;
4
5
use Aura\Web\Request as AuraRequest;
6
use Aura\Web\Response as AuraResponse;
7
use InvalidArgumentException;
8
9
/**
10
 * Class HelperFactory
11
 *
12
 * These helpers help to access object properties within Aura Web that are normally
13
 * inaccessible without depending on reflection.
14
 * Without this access Aura Web can not act as a psr-7 implementation.
15
 *
16
 * @package DMT\Aura\Psr\Helpers
17
 */
18
class HelperFactory
19
{
20
    /**
21
     * Create a helper for an object
22
     *
23
     * @param object $object the object for which a helper is requested
24
     * @return object the object helper
25
     * @throws InvalidArgumentException for an unsupported object
26
     */
27 96
    public function createHelper($object)
28
    {
29 96
        $class = get_class($object);
30
31
        switch ($class) {
32 96
            case AuraRequest::class:
33 55
                return new RequestHelper($object);
34 95
            case AuraRequest\Content::class:
35 2
                return new RequestContentHelper($object);
36 94
            case AuraRequest\Headers::class:
37 13
                return new RequestHeadersHelper($object);
38 93
            case AuraRequest\Method::class:
39 55
                return new RequestMethodHelper($object);
40 92
            case AuraRequest\Url::class:
41 72
                return new RequestUrlHelper($object);
42 20
            case AuraResponse::class:
43 17
                return new ResponseHelper($object);
44 14
            case AuraResponse\Headers::class:
45 10
                return new ResponseHeadersHelper($object);
46 4
            case AuraResponse\Status::class:
47 3
                return new ResponseStatusHelper($object);
0 ignored issues
show
Deprecated Code introduced by
The class DMT\Aura\Psr\Helpers\ResponseStatusHelper has been deprecated: Protocol version fixed in Aura.Web 2.1.1 ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-deprecated  annotation

47
                return /** @scrutinizer ignore-deprecated */ new ResponseStatusHelper($object);
Loading history...
48
            default:
49 1
                throw new InvalidArgumentException('unsupported object');
50
        }
51
    }
52
}
53