Skip to content

Commit 45af143

Browse files
tyxlsmith77
authored andcommitted
Exception handler move to a service
1 parent 71f2ed7 commit 45af143

File tree

7 files changed

+10
-22
lines changed

7 files changed

+10
-22
lines changed

Controller/ExceptionController.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ class ExceptionController extends ContainerAware
4141
protected function createExceptionWrapper(array $parameters)
4242
{
4343
/** @var ExceptionWrapperHandlerInterface $exceptionWrapperHandler */
44-
$exceptionWrapperHandler = $this->container->get('fos_rest.view.exception_wrapper_handler');
44+
$exceptionWrapperHandler = $this->container->get('fos_rest.exception_handler');
4545

4646
return $exceptionWrapperHandler->wrap($parameters);
4747
}

DependencyInjection/Configuration.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ public function getConfigTreeBuilder()
7676
->scalarNode('templating')->defaultValue('templating')->end()
7777
->scalarNode('serializer')->defaultNull()->end()
7878
->scalarNode('view_handler')->defaultValue('fos_rest.view_handler.default')->end()
79+
->scalarNode('exception_handler')->defaultValue('fos_rest.exception_handler.default')->end()
7980
->scalarNode('inflector')->defaultValue('fos_rest.inflector.doctrine')->end()
8081
->scalarNode('validator')->defaultValue('validator')->end()
8182
->end()
@@ -144,7 +145,6 @@ private function addViewSection(ArrayNodeDefinition $rootNode)
144145
->end()
145146
->scalarNode('failed_validation')->defaultValue(Codes::HTTP_BAD_REQUEST)->end()
146147
->scalarNode('empty_content')->defaultValue(Codes::HTTP_NO_CONTENT)->end()
147-
->scalarNode('exception_wrapper_handler')->defaultValue('FOS\RestBundle\View\ExceptionWrapperHandler')->end()
148148
->booleanNode('serialize_null')->defaultFalse()->end()
149149
->arrayNode('jsonp_handler')
150150
->canBeUnset()

DependencyInjection/FOSRestExtension.php

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -184,10 +184,6 @@ public function load(array $configs, ContainerBuilder $container)
184184
}
185185
}
186186

187-
if (!empty($config['view']['exception_wrapper_handler'])) {
188-
$container->setParameter($this->getAlias().'.view.exception_wrapper_handler', $config['view']['exception_wrapper_handler']);
189-
}
190-
191187
if (!empty($config['view']['jsonp_handler'])) {
192188
$handler = new DefinitionDecorator($config['service']['view_handler']);
193189
$handler->setPublic(true);

Resources/config/view.xml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
<parameter key="fos_rest.serializer.exclusion_strategy.version" />
99
<parameter key="fos_rest.serializer.exclusion_strategy.groups"/>
1010
<parameter key="fos_rest.view_handler.jsonp.callback_param"/>
11-
<parameter key="fos_rest.view.exception_wrapper_handler" />
11+
<parameter key="fos_rest.exception_handler.default.class">FOS\RestBundle\View\ExceptionWrapperHandler</parameter>
1212
<parameter key="fos_rest.view_handler.default.class">FOS\RestBundle\View\ViewHandler</parameter>
1313
<parameter key="fos_rest.view_handler.jsonp.class">FOS\RestBundle\View\JsonpHandler</parameter>
1414
<parameter key="fos_rest.serializer.exception_wrapper_serialize_handler.class">FOS\RestBundle\Serializer\ExceptionWrapperSerializeHandler</parameter>
@@ -41,7 +41,8 @@
4141
<argument>%fos_rest.view_handler.jsonp.callback_param%</argument>
4242
</service>
4343

44-
<service id="fos_rest.view.exception_wrapper_handler" class="%fos_rest.view.exception_wrapper_handler%" />
44+
<service id="fos_rest.exception_handler.default" class="%fos_rest.exception_handler.default.class%" public="false">
45+
</service>
4546

4647
<service id="fos_rest.serializer.exception_wrapper_serialize_handler" class="%fos_rest.serializer.exception_wrapper_serialize_handler.class%">
4748
<tag name="jms_serializer.subscribing_handler" />

Tests/DependencyInjection/FOSRestExtensionTest.php

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,7 @@ public function testLoadServicesWithDefaults()
172172
$this->extension->load(array(), $this->container);
173173

174174
$this->assertAlias('fos_rest.view_handler.default', 'fos_rest.view_handler');
175+
$this->assertAlias('fos_rest.exception_handler.default', 'fos_rest.exception_handler');
175176
}
176177

177178
public function testLoadFormatsWithDefaults()
@@ -559,16 +560,6 @@ public function testCheckViewHandlerWithJsonp()
559560
$this->assertInstanceOf('Symfony\Component\DependencyInjection\DefinitionDecorator', $viewHandler);
560561
}
561562

562-
public function testCheckExceptionWrapperHandler()
563-
{
564-
$this->extension->load(array(), $this->container);
565-
566-
$this->assertTrue($this->container->has('fos_rest.view.exception_wrapper_handler'));
567-
568-
$exceptionWrapperHandler = $this->container->getDefinition('fos_rest.view.exception_wrapper_handler');
569-
$this->assertEquals('%fos_rest.view.exception_wrapper_handler%', $exceptionWrapperHandler->getClass());
570-
}
571-
572563
/**
573564
* @expectedException \LogicException
574565
*/

Tests/View/ViewHandlerTest.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,7 @@ public function testShouldReturnErrorResponseWhenDataContainsFormAndFormIsNotVal
209209
;
210210

211211
$container->set('fos_rest.serializer', $serializer);
212-
$container->set('fos_rest.view.exception_wrapper_handler', new ExceptionWrapperHandler());
212+
$container->set('fos_rest.exception_handler', new ExceptionWrapperHandler());
213213

214214
//test
215215
$viewHandler = new ViewHandler(null, $expectedFailedValidationCode = Codes::HTTP_I_AM_A_TEAPOT);
@@ -309,15 +309,15 @@ private function setupMockedSerializer($container, $expected)
309309
->method('get')
310310
->with($this->logicalOr(
311311
$this->equalTo('fos_rest.serializer'),
312-
$this->equalTo('fos_rest.view.exception_wrapper_handler')
312+
$this->equalTo('fos_rest.exception_handler')
313313
))
314314
->will(
315315
$this->returnCallback(
316316
function ($method) use ($serializer) {
317317
switch ($method) {
318318
case 'fos_rest.serializer':
319319
return $serializer;
320-
case 'fos_rest.view.exception_wrapper_handler':
320+
case 'fos_rest.exception_handler':
321321
return new ExceptionWrapperHandler();
322322
}
323323
}

View/ViewHandler.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -500,7 +500,7 @@ private function getDataFromView(View $view)
500500
}
501501

502502
/** @var ExceptionWrapperHandlerInterface $exceptionWrapperHandler */
503-
$exceptionWrapperHandler = $this->container->get('fos_rest.view.exception_wrapper_handler');
503+
$exceptionWrapperHandler = $this->container->get('fos_rest.exception_handler');
504504

505505
return $exceptionWrapperHandler->wrap(
506506
array(

0 commit comments

Comments
 (0)