From 6d5a65dd8b894e5465d9d9236d32378ba6ec3eac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timoth=C3=A9e=20Barray?= Date: Fri, 5 Aug 2016 22:43:03 +0200 Subject: [PATCH] Add named constructor on JsonResponse To make easier construction with raw json --- src/Symfony/Component/HttpFoundation/JsonResponse.php | 8 ++++++++ .../Component/HttpFoundation/Tests/JsonResponseTest.php | 6 ++++++ 2 files changed, 14 insertions(+) diff --git a/src/Symfony/Component/HttpFoundation/JsonResponse.php b/src/Symfony/Component/HttpFoundation/JsonResponse.php index daacb82a449ef..387bc8dcddd5c 100644 --- a/src/Symfony/Component/HttpFoundation/JsonResponse.php +++ b/src/Symfony/Component/HttpFoundation/JsonResponse.php @@ -58,6 +58,14 @@ public static function create($data = null, $status = 200, $headers = array()) return new static($data, $status, $headers); } + /** + * Make easier the creation of JsonResponse from raw json. + */ + public static function fromJsonString($data = null, $status = 200, $headers = array()) + { + return new static($data, $status, $headers, true); + } + /** * Sets the JSONP callback. * diff --git a/src/Symfony/Component/HttpFoundation/Tests/JsonResponseTest.php b/src/Symfony/Component/HttpFoundation/Tests/JsonResponseTest.php index 1dd2e60c062dd..b2a0b02ab0eb6 100644 --- a/src/Symfony/Component/HttpFoundation/Tests/JsonResponseTest.php +++ b/src/Symfony/Component/HttpFoundation/Tests/JsonResponseTest.php @@ -198,6 +198,12 @@ public function testSetEncodingOptions() $this->assertEquals('{"0":{"0":1,"1":2,"2":3}}', $response->getContent()); } + public function testItAcceptsJsonAsString() + { + $response = JsonResponse::fromJsonString('{"foo":"bar"}'); + $this->assertSame('{"foo":"bar"}', $response->getContent()); + } + /** * @expectedException \InvalidArgumentException */