From dd52e84538edcaf8aeacd1128a873d3143e42c2b Mon Sep 17 00:00:00 2001 From: Maxim Shulyak Date: Wed, 17 Feb 2021 19:55:31 +0200 Subject: [PATCH 1/3] Fixed GET request - remove body --- Connection/Handler/RequestSerializationHandler.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Connection/Handler/RequestSerializationHandler.php b/Connection/Handler/RequestSerializationHandler.php index 6ffb5e8..38bfd71 100644 --- a/Connection/Handler/RequestSerializationHandler.php +++ b/Connection/Handler/RequestSerializationHandler.php @@ -61,7 +61,7 @@ public function __invoke($request) unset($request['query_params']); } - if (!empty($body)) { + if (!empty($body) && 'GET' !== $request['http_method']) { ksort($body); $request['body'] = $this->serializer->serialize($body); } From 161a21685cd4bc96f167a388b58daecd638c1301 Mon Sep 17 00:00:00 2001 From: Maxim Shulyak Date: Wed, 17 Feb 2021 20:26:40 +0200 Subject: [PATCH 2/3] Fixed test --- .../Handler/RequestSerializationHandlerTest.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Tests/Unit/Connection/Handler/RequestSerializationHandlerTest.php b/Tests/Unit/Connection/Handler/RequestSerializationHandlerTest.php index a923b33..5d2b59f 100644 --- a/Tests/Unit/Connection/Handler/RequestSerializationHandlerTest.php +++ b/Tests/Unit/Connection/Handler/RequestSerializationHandlerTest.php @@ -39,10 +39,10 @@ public function testSerializeRequest($request, $expectedBody) public function requestDataProvider() { $data = [ - [['body' => ['foo' => 'bar']], '{"foo":"bar"}'], - [['query_params' => ['foo' => 'bar']], '{"foo":"bar"}'], - [['body' => ['foo' => 'bar'], 'query_params' => ['foo' => 'bar']], '{"foo":"bar"}'], - [['body' => ['foo1' => 'bar1'], 'query_params' => ['foo2' => 'bar2']], '{"foo1":"bar1","foo2":"bar2"}'], + [['http_method' => 'POST', 'body' => ['foo' => 'bar']], '{"foo":"bar"}'], + [['http_method' => 'GET', 'query_params' => ['foo' => 'bar']], null], + [['http_method' => 'POST', 'body' => ['foo' => 'bar'], 'query_params' => ['foo' => 'bar']], '{"foo":"bar"}'], + [['http_method' => 'POST', 'body' => ['foo1' => 'bar1'], 'query_params' => ['foo2' => 'bar2']], '{"foo1":"bar1","foo2":"bar2"}'], [[], null], ]; From 5c3090f02161c8f70981f9ce9e986a956aa91444 Mon Sep 17 00:00:00 2001 From: Maxim Shulyak Date: Wed, 17 Feb 2021 20:37:40 +0200 Subject: [PATCH 3/3] Fixid code style --- Serializer/SmartSerializer.php | 2 +- .../Handler/RequestSerializationHandlerTest.php | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/Serializer/SmartSerializer.php b/Serializer/SmartSerializer.php index 0d833ec..406fe33 100644 --- a/Serializer/SmartSerializer.php +++ b/Serializer/SmartSerializer.php @@ -115,7 +115,7 @@ private function decode($data) return ''; } - $result = @json_decode($data, true); + $result = json_decode($data, true); if (JSON_ERROR_NONE !== json_last_error() && E_NOTICE === (error_reporting() & E_NOTICE)) { throw new JsonErrorException(json_last_error(), $data, $result); diff --git a/Tests/Unit/Connection/Handler/RequestSerializationHandlerTest.php b/Tests/Unit/Connection/Handler/RequestSerializationHandlerTest.php index 5d2b59f..d981b2c 100644 --- a/Tests/Unit/Connection/Handler/RequestSerializationHandlerTest.php +++ b/Tests/Unit/Connection/Handler/RequestSerializationHandlerTest.php @@ -41,8 +41,14 @@ public function requestDataProvider() $data = [ [['http_method' => 'POST', 'body' => ['foo' => 'bar']], '{"foo":"bar"}'], [['http_method' => 'GET', 'query_params' => ['foo' => 'bar']], null], - [['http_method' => 'POST', 'body' => ['foo' => 'bar'], 'query_params' => ['foo' => 'bar']], '{"foo":"bar"}'], - [['http_method' => 'POST', 'body' => ['foo1' => 'bar1'], 'query_params' => ['foo2' => 'bar2']], '{"foo1":"bar1","foo2":"bar2"}'], + [ + ['http_method' => 'POST', 'body' => ['foo' => 'bar'], 'query_params' => ['foo' => 'bar']], + '{"foo":"bar"}' + ], + [ + ['http_method' => 'POST', 'body' => ['foo1' => 'bar1'], 'query_params' => ['foo2' => 'bar2']], + '{"foo1":"bar1","foo2":"bar2"}' + ], [[], null], ];