1 | <?php |
||
13 | final class InnmindRestServerExtension extends Extension |
||
14 | { |
||
15 | /** |
||
16 | * {@inheritdoc} |
||
17 | */ |
||
18 | 64 | public function load(array $configs, ContainerBuilder $container) |
|
19 | { |
||
20 | 64 | $loader = new Loader\YamlFileLoader( |
|
21 | 64 | $container, |
|
22 | 64 | new FileLocator(__DIR__.'/../Resources/config') |
|
23 | ); |
||
24 | 64 | $loader->load('services.yml'); |
|
25 | 64 | $config = $this->processConfiguration( |
|
26 | 64 | new Configuration, |
|
27 | 64 | $configs |
|
28 | ); |
||
29 | |||
30 | $this |
||
31 | 64 | ->registerTypes($config['types'], $container) |
|
32 | 64 | ->registerAcceptFormats($config['accept'], $container) |
|
33 | 64 | ->registerContentTypeFormats($config['content_type'], $container) |
|
34 | 64 | ->configureRangeExtractor($config['range_extractor'], $container) |
|
35 | 64 | ->configureSpecificationBuilder( |
|
36 | 64 | $config['specification_builder'], |
|
37 | 64 | $container |
|
38 | ) |
||
39 | 64 | ->configureHeaderBuilders( |
|
40 | 64 | $config['response']['header_builders'], |
|
41 | 64 | $container |
|
42 | ); |
||
43 | 64 | } |
|
44 | |||
45 | 64 | private function registerTypes(array $types, ContainerBuilder $container): self |
|
60 | |||
61 | 64 | private function registerAcceptFormats( |
|
71 | |||
72 | 64 | private function registerContentTypeFormats( |
|
82 | |||
83 | 64 | private function configureRangeExtractor( |
|
94 | |||
95 | 64 | private function configureSpecificationBuilder( |
|
106 | |||
107 | 64 | private function configureHeaderBuilders( |
|
120 | } |
||
121 |