Feature #3622


Net::HTTP does not wait to send request body with Expect: 100-continue

Added by drbrain (Eric Hodel) almost 12 years ago. Updated about 11 years ago.

Target version:


HTTP/1.1 allows a client to determine if the server will accept a request body using the Expect header with a value of 100-continue. If the server finds the request header the client sent acceptable it will return with a 100 Continue response and the client will then send the request body.

Instead of waiting for a 100 Continue response Net::HTTP immediately sends the request body and ignores any 100 Continue responses.

The current behavior defeats the purpose of the Expect: 100-continue value and the 100 Continue response code.

If I am attempting to upload a large file like a photo and to a server that requires HTTP authentication I will have to wait until the upload is complete before I can retrieve a 401 response for incorrect authentication.

I have attached a proposed patch that adds a continue timeout. Net::HTTP will wait up to the continue timeout before sending the request body.


net.http.continue.patch (3.39 KB) net.http.continue.patch Proposed Net::HTTP that waits for a continue response drbrain (Eric Hodel), 07/28/2010 03:08 PM
net.http.continue.patch (3.42 KB) net.http.continue.patch net.http.continue.2.patch drbrain (Eric Hodel), 07/29/2010 05:17 AM
expect-continue.diff (3.35 KB) expect-continue.diff nahi (Hiroshi Nakamura), 09/09/2010 05:24 PM
expect-continue.diff (5.88 KB) expect-continue.diff nahi (Hiroshi Nakamura), 09/10/2010 07:40 PM
expect-continue.3.diff (6.28 KB) expect-continue.3.diff drbrain (Eric Hodel), 09/11/2010 05:26 AM

Also available in: Atom PDF