diff --git a/src/HttpApi/Controllers/Controller.php b/src/HttpApi/Controllers/Controller.php index 492b3eb800..36791e3e78 100644 --- a/src/HttpApi/Controllers/Controller.php +++ b/src/HttpApi/Controllers/Controller.php @@ -80,9 +80,13 @@ protected function checkContentLength(ConnectionInterface $connection) ->ensureValidAppId($laravelRequest->appId) ->ensureValidSignature($laravelRequest); - $response = $this($laravelRequest); + $response = JsonResponse::create( $this($laravelRequest) ); - $connection->send(JsonResponse::create($response)); + $content = $response->content(); + + $response->header( 'Content-Length', strlen($content) ); + + $connection->send( $response ); $connection->close(); } } @@ -97,11 +101,14 @@ public function onError(ConnectionInterface $connection, Exception $exception) return; } + $responseData = json_encode([ + 'error' => $exception->getMessage(), + ]); + $response = new Response($exception->getStatusCode(), [ 'Content-Type' => 'application/json', - ], json_encode([ - 'error' => $exception->getMessage(), - ])); + 'Content-Length' => strlen( $responseData ) + ], $responseData); $connection->send(\GuzzleHttp\Psr7\str($response));