ImageResponseMiddlewareAbstract   A
last analyzed

Complexity

Total Complexity 6

Size/Duplication

Total Lines 27
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 2

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
wmc 6
lcom 0
cbo 2
dl 0
loc 27
ccs 0
cts 20
cp 0
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
B getUri() 0 24 6
1
<?php
2
namespace Staticus\Resources\Middlewares\Image;
3
4
use Staticus\Resources\Middlewares\ResourceResponseMiddlewareAbstract;
5
use Staticus\Resources\ResourceDOInterface;
6
use Staticus\Resources\Image\ResourceImageDO;
7
8
abstract class ImageResponseMiddlewareAbstract extends ResourceResponseMiddlewareAbstract
9
{
10
    protected function getUri(ResourceDOInterface $resourceDO)
11
    {
12
        /** @var \Staticus\Resources\Image\ResourceImageDO $resourceDO */
13
        $uri = $resourceDO->getName() . '.' . $resourceDO->getType();
14
        $query = [];
15
        if (ResourceDOInterface::DEFAULT_VARIANT !== $resourceDO->getVariant()) {
16
            $query['var'] = $resourceDO->getVariant();
17
        }
18
        if (ResourceDOInterface::DEFAULT_NAME_ALTERNATIVE !== $resourceDO->getNameAlternative()) {
19
            $query['alt'] = $resourceDO->getNameAlternative();
20
        }
21
        if (ResourceDOInterface::DEFAULT_VERSION !== $resourceDO->getVersion()) {
22
            $query['v'] = $resourceDO->getVersion();
23
        }
24
        if (ResourceImageDO::DEFAULT_DIMENSION !== $resourceDO->getDimension()) {
25
            $query['size'] = $resourceDO->getDimension();
26
        }
27
        $query = http_build_query($query, null, '&', PHP_QUERY_RFC3986); // RFC for correct spaces
28
        if ($query) {
29
            $uri .= '?' . $query;
30
        }
31
32
        return $uri;
33
    }
34
}
35