From 34c62880320aa871f7d0c9eda70713bd63e2f163 Mon Sep 17 00:00:00 2001 From: Jocelyn Fiat Date: Fri, 13 Apr 2012 17:19:14 +0200 Subject: [PATCH] Fixed a last minute regression due to removal REQUEST.chunked_input --- .../src/wsf_resource_handler_helper.e | 25 ++++++++++++++++--- .../wsf_extension/wsf_extension-safe.ecf | 1 + .../server/wsf_extension/wsf_extension.ecf | 1 + 3 files changed, 23 insertions(+), 4 deletions(-) diff --git a/library/server/wsf_extension/src/wsf_resource_handler_helper.e b/library/server/wsf_extension/src/wsf_resource_handler_helper.e index 0e7c159c..041cd9c5 100644 --- a/library/server/wsf_extension/src/wsf_resource_handler_helper.e +++ b/library/server/wsf_extension/src/wsf_resource_handler_helper.e @@ -166,11 +166,29 @@ feature -- Retrieve content from WGI_INPUT_STREAM retrieve_data ( req : WSF_REQUEST) : STRING -- retrieve the content from the input stream -- handle differents transfers + local + l_input: WGI_INPUT_STREAM + n: INTEGER + s: STRING do - Result := "" if req.is_chunked_input then - if attached req.chunked_input as l_chunked_input then - Result := l_chunked_input.data.as_string_8 + l_input := req.input + from + n := 1_024 + create Result.make (n) + until + n = 0 + loop + l_input.read_string (n) + s := l_input.last_string + if s.count = 0 then + n := 0 + else + if s.count < n then + n := 0 + end + Result.append (s) + end end else req.input.read_string (req.content_length_value.as_integer_32) @@ -203,7 +221,6 @@ feature -- Handle responses res.put_string (a_description) end - handle_precondition_fail_response (a_description: STRING; ctx: C; req: WSF_REQUEST; res: WSF_RESPONSE ) local h : HTTP_HEADER diff --git a/library/server/wsf_extension/wsf_extension-safe.ecf b/library/server/wsf_extension/wsf_extension-safe.ecf index 8f811dc1..627c1bcc 100644 --- a/library/server/wsf_extension/wsf_extension-safe.ecf +++ b/library/server/wsf_extension/wsf_extension-safe.ecf @@ -11,6 +11,7 @@ + diff --git a/library/server/wsf_extension/wsf_extension.ecf b/library/server/wsf_extension/wsf_extension.ecf index 9f795b1e..2f3b0881 100644 --- a/library/server/wsf_extension/wsf_extension.ecf +++ b/library/server/wsf_extension/wsf_extension.ecf @@ -11,6 +11,7 @@ +