Completed
Push — master ( 5f7cbd...b12d8e )
by Alejandro
03:03
created

ConfigProvider::createDependenciesConfig()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 14
Code Lines 9

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 9
CRAP Score 1

Importance

Changes 0
Metric Value
dl 0
loc 14
ccs 9
cts 9
cp 1
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 9
nc 1
nop 0
crap 1
1
<?php
2
namespace Acelaya\ExpressiveErrorHandler;
3
4
use Acelaya\ExpressiveErrorHandler\ErrorHandler\ContentBasedErrorHandler;
5
use Acelaya\ExpressiveErrorHandler\ErrorHandler\ErrorHandlerManager;
6
use Acelaya\ExpressiveErrorHandler\ErrorHandler\Factory\ContentBasedErrorHandlerFactory;
7
use Acelaya\ExpressiveErrorHandler\ErrorHandler\Factory\ErrorHandlerManagerFactory;
8
use Acelaya\ExpressiveErrorHandler\Log\BasicLogMessageBuilder;
9
use Acelaya\ExpressiveErrorHandler\Log\LogMessageBuilderInterface;
10
use Zend\Expressive\Container\TemplatedErrorHandlerFactory;
11
use Zend\ServiceManager\Factory\InvokableFactory;
12
use Zend\Stratigility\FinalHandler;
13
14
class ConfigProvider
15
{
16 1
    public function __invoke()
17
    {
18
        return [
19 1
            'dependencies' => $this->createDependenciesConfig(),
20 1
            'error_handler' => $this->createErrorHandlerConfig(),
21 1
        ];
22
    }
23
24 1
    private function createDependenciesConfig()
25
    {
26
        return [
27
            'factories' => [
28 1
                ErrorHandlerManager::class => ErrorHandlerManagerFactory::class,
29 1
                ContentBasedErrorHandler::class => ContentBasedErrorHandlerFactory::class,
30 1
                BasicLogMessageBuilder::class => InvokableFactory::class,
31 1
            ],
32
            'aliases' => [
33 1
                'Zend\Expressive\FinalHandler' => ContentBasedErrorHandler::class,
34 1
                LogMessageBuilderInterface::class => BasicLogMessageBuilder::class,
35 1
            ],
36 1
        ];
37
    }
38
39 1
    private function createErrorHandlerConfig()
40
    {
41
        return [
42
            'plugins' => [
43
                'invokables' => [
44 1
                    'text/plain' => FinalHandler::class,
45 1
                ],
46
                'factories' => [
47 1
                    ContentBasedErrorHandler::DEFAULT_CONTENT => TemplatedErrorHandlerFactory::class,
48 1
                ],
49
                'aliases' => [
50 1
                    'application/xhtml+xml' => ContentBasedErrorHandler::DEFAULT_CONTENT,
51 1
                ],
52 1
            ],
53 1
        ];
54
    }
55
}
56