From dae851c6b2d4f91cbe75aefe36904c27f3a8b2a6 Mon Sep 17 00:00:00 2001 From: Olya Kovtun Date: Wed, 4 Jun 2025 23:04:47 +0100 Subject: [PATCH] Fix a rewind error for GET action with Sinatra v4 --- lib/rspec_api_documentation/client_base.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/rspec_api_documentation/client_base.rb b/lib/rspec_api_documentation/client_base.rb index db0560a3..d7185e97 100644 --- a/lib/rspec_api_documentation/client_base.rb +++ b/lib/rspec_api_documentation/client_base.rb @@ -45,6 +45,8 @@ def process(method, path, params = {}, headers ={}) def read_request_body input = last_request.env["rack.input"] + + return '' unless input input.rewind input.read end @@ -62,7 +64,7 @@ def document_example(method, path) request_metadata[:request_method] = method request_metadata[:request_path] = path - request_metadata[:request_body] = request_body.empty? ? nil : request_body.force_encoding("UTF-8") + request_metadata[:request_body] = request_body.force_encoding("UTF-8") request_metadata[:request_headers] = request_headers request_metadata[:request_query_parameters] = query_hash request_metadata[:request_content_type] = request_content_type