[Mono-bugs] [Bug 76941][Nor] New - HttpWorkerRequest.ReadEntityBody() does not decode chunked transfer encoding

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Thu Dec 8 03:18:21 EST 2005

Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by dean at brettle.com.


--- shadow/76941	2005-12-08 03:18:19.000000000 -0500
+++ shadow/76941.tmp.3648	2005-12-08 03:18:19.000000000 -0500
@@ -0,0 +1,61 @@
+Bug#: 76941
+Product: Mono: Tools
+Version: 1.1
+OS Details: 
+Status: NEW   
+Priority: Normal
+Component: XSP
+AssignedTo: gonzalo at ximian.com                            
+ReportedBy: dean at brettle.com               
+QAContact: mono-bugs at ximian.com
+TargetMilestone: ---
+Summary: HttpWorkerRequest.ReadEntityBody() does not decode chunked transfer encoding
+Description of Problem:
+For requests that use "chunked" transfer encoding, the body provided by
+XSP's HttpWorkerRequest.ReadEntityBody() is still encoded.  Under IIS/.NET
+the body has been decoded.
+Steps to reproduce the problem:
+1. Create a simple HttpModule or IHttpHandler that logs the body available
+via HttpWorkerRequest.ReadEntityBody().
+2. Send a chunked request to the server.  For example, you could use
+something like:
+curl -X POST -H 'Transfer-Encoding: chunked' --data-binary @test.body
+3. Examine the logged entity body.
+Actual Results:
+The body is still chunk encoded.
+Expected Results:
+The body has been decoded.
+How often does this happen? 
+Additional Information:
+I'm using xsp-1.1.10-1.
+To minimize latency and memory usage, the body should be decoded on demand
+instead of decoded as a batch.
+I'm afraid I don't have time to put together a test case right now. 
+However I do have some C# code which dechunks a body on the fly.  I'll
+attach it.
+Chunked requests are broken when using mod_mono as well, albeit the
+behavior isn't quite the same.  Instead of returning an encoded entity
+body, HttpWorkerRequest.ReadEntityBody() returns nothing at all under mod_mono.

More information about the mono-bugs mailing list