diff --git a/lib/public/appframework/controller.php b/lib/public/appframework/controller.php index 96ab5e75e8..79491902bf 100644 --- a/lib/public/appframework/controller.php +++ b/lib/public/appframework/controller.php @@ -29,7 +29,6 @@ namespace OCP\AppFramework; use OCP\AppFramework\Http\TemplateResponse; use OCP\AppFramework\Http\JSONResponse; -use OCP\AppFramework\Http\IResponseSerializer; use OCP\IRequest; @@ -50,7 +49,6 @@ abstract class Controller { */ protected $request; - private $serializer; private $responders; /** @@ -58,7 +56,7 @@ abstract class Controller { * @param string $appName the name of the app * @param IRequest $request an instance of the request */ - public function __construct($appName, + public function __construct($appName, IRequest $request){ $this->appName = $appName; $this->request = $request; @@ -72,17 +70,6 @@ abstract class Controller { } - /** - * Registers a serializer that is executed before a formatter is being - * called, useful for turning any data into PHP arrays that can be used - * by a JSONResponse for instance - * @param IResponseSerializer $serializer - */ - protected function registerSerializer(IResponseSerializer $serializer) { - $this->serializer = $serializer; - } - - /** * Registers a formatter for a type * @param string $format @@ -104,16 +91,12 @@ abstract class Controller { public function buildResponse($response, $format='json') { if(array_key_exists($format, $this->responders)) { - if ($this->serializer) { - $response = $this->serializer->serialize($response); - } - $responder = $this->responders[$format]; - + return $responder($response); } else { - throw new \DomainException('No responder registered for format ' . + throw new \DomainException('No responder registered for format ' . $format . '!'); } } diff --git a/lib/public/appframework/http/iresponseserializer.php b/lib/public/appframework/http/iresponseserializer.php deleted file mode 100644 index c16e106df3..0000000000 --- a/lib/public/appframework/http/iresponseserializer.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE - * License as published by the Free Software Foundation; either - * version 3 of the License, or any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU AFFERO GENERAL PUBLIC LICENSE for more details. - * - * You should have received a copy of the GNU Affero General Public - * License along with this library. If not, see . - * - */ - -namespace OCP\AppFramework\Http; - -interface IResponseSerializer { - function serialize($response); -} \ No newline at end of file diff --git a/tests/lib/appframework/controller/ControllerTest.php b/tests/lib/appframework/controller/ControllerTest.php index 3c1716a91d..65144e78f5 100644 --- a/tests/lib/appframework/controller/ControllerTest.php +++ b/tests/lib/appframework/controller/ControllerTest.php @@ -27,15 +27,8 @@ namespace OCP\AppFramework; use OC\AppFramework\Http\Request; use OCP\AppFramework\Http\TemplateResponse; use OCP\AppFramework\Http\JSONResponse; -use OCP\AppFramework\Http\IResponseSerializer; -class ToUpperCaseSerializer implements IResponseSerializer { - public function serialize($response) { - return array(strtoupper($response)); - } -} - class ChildController extends Controller { public function custom($in) { $this->registerResponder('json', function ($response) { @@ -44,12 +37,6 @@ class ChildController extends Controller { return $in; } - - public function serializer($in) { - $this->registerSerializer(new ToUpperCaseSerializer()); - - return $in; - } }; class ControllerTest extends \PHPUnit_Framework_TestCase { @@ -170,16 +157,9 @@ class ControllerTest extends \PHPUnit_Framework_TestCase { $response = $this->controller->custom('hi'); $response = $this->controller->buildResponse($response, 'json'); - $this->assertEquals(array(2), $response->getData()); + $this->assertEquals(array(2), $response->getData()); } - public function testCustomSerializer() { - $response = $this->controller->serializer('hi'); - $response = $this->controller->buildResponse($response, 'json'); - - $this->assertEquals(array('HI'), $response->getData()); - } - }