diff --git a/src/Illuminate/Http/Request.php b/src/Illuminate/Http/Request.php index a4018c5c2174..265b63a6d8ab 100644 --- a/src/Illuminate/Http/Request.php +++ b/src/Illuminate/Http/Request.php @@ -436,7 +436,9 @@ public static function createFromBase(SymfonyRequest $request) $newRequest->content = $request->content; - $newRequest->request = $newRequest->getInputSource(); + if ($newRequest->isJson()) { + $newRequest->request = $newRequest->json(); + } return $newRequest; } diff --git a/tests/Http/HttpRequestTest.php b/tests/Http/HttpRequestTest.php index 6bf7b1e1c665..96dc88805a26 100644 --- a/tests/Http/HttpRequestTest.php +++ b/tests/Http/HttpRequestTest.php @@ -938,6 +938,15 @@ public function testCreateFromBase() $this->assertEquals($request->request->all(), $body); } + public function testCreateFromBaseDoesNotUseQueryParametersForRequestBag() + { + $base = SymfonyRequest::create('/?foo=bar', 'GET'); + + $request = Request::createFromBase($base); + + $this->assertEquals([], $request->request->all()); + } + /** * Tests for Http\Request magic methods `__get()` and `__isset()`. *