Mind posting a patch? As an aside, the j2me people seem to think CE requests are part the http 1.1 spec (rfc2616):
http://developers.sun.com/mobility/midp/questions/chunking/ and the minimal justification they give is that "interactive applications may not know ahead of time how much data they're going to send" (paraphrase). On Feb 19, 2008, at 4:44 AM, Todd Fisher wrote: > I implemented a chunked transfer encoding to handle ESI in pages... > Each fragment is sent as a chunk... Since, I can't determine ahead > of time what the content-length would be as the individual ESI > fragments are of unknown length until the page is assembled... > > I can see where a mobile device might want to do this because of > memory constraints, however.... if the device has what's it's > sending stored somewhere one would hope it can measure that > something's length, ahead of time - writing the Content-length > first... Then connect the write end of the socket to the read end of > the file... and away it goes never storing more then the OS > decides to keep in memory... > > This page might be helpful... http://www.jmarshall.com/easy/http/#http1.1c2 > > > > On Feb 18, 2008 7:39 AM, Zachary Roetemeyer <[EMAIL PROTECTED]> wrote: > The upload is coming from a mobile device with J2ME, and it does this > by default with anything over 2K, and apparently there's no way to > turn it off. > > On Feb 17, 2008, at 8:18 PM, Zed A. Shaw wrote: > > > On Fri, 15 Feb 2008 14:35:04 -0600 > > Zachary Roetemeyer <[EMAIL PROTECTED]> wrote: > > > >> I'm working with someone who is having issues with a Transfer- > >> Encoding: Chunked upload. With out a content-length set in the > >> request, everything is treating the content length as 0 and the > file > >> is more or less getting sent to the bit bucket. Does anyone have > any > >> experience with this kind of issue? We started proxying with > >> nginx(returned a HTTP Error 411), then we tried to directly > expose a > >> mongrel and ended up getting strange results, and errors in the > >> mongrel logs. The client is uploading with a mobile phone using > >> J2ME. > > > > Uh, you aren't allowed to set a Content-Length AND use CE in the > same > > request. That would let the two contradict so it's an RFC > violation. > > Actually, WebLogic makes this mistake and we had to school them > about > > it until they told us to turn it off. (WebLogic is such a piece of > > shit). > > > > My RFC knowledge on CE is rusty since I banished that shitty part of > > HTTP from my mind when I implemented it in RFuzz, but my thoughts > are: > > > > 1) CE wasn't designed for clients to upload, since no browser does > it. > > 2) It's originally for a server to send periodic parts of a request > > without having to know it's total final size. > > 3) Anyone doing a CE as a client is seriously screwing with the RFC > > and > > really exercising the corners of it for no apparent reason since CE > > isn't needed by a client (the client knows the size, or better). > > 4) This puts a burden on the server to process the CE as it comes > > over, which has the same problems as mime boundaries but with a more > > horribly designed part of the RFC. > > 5) My recommendation is that you just don't do this. The value add > > for > > a client (or even modern servers really) is quite minimal. > > > > Now, how you go about implementing it: > > > > A) Read up on how to write a Mongrel handler. > > B) Register it at the front of your web app or create a separate > > server > > that runs just mongrel (probably your best if you want any kind of > > performance). > > C) Your handler would detect the CE via the normal headers and such, > > and then process the final request body as it comes in for each > chunk. > > D) This might involve subclassing the Http processing parts that > > handle > > the body and doing a bit of other hacking, and it's seriously > fucking > > dumb because after that you've gotta process mime boundaries and > other > > stuff, which will punish your server heavily. > > > > Enjoy! > > > > -- > > Zed A. Shaw > > - Hate: http://savingtheinternetwithhate.com/ > > - Good: http://www.zedshaw.com/ > > - Evil: http://yearofevil.com/ > > _______________________________________________ > > Mongrel-users mailing list > > Mongrel-users@rubyforge.org > > http://rubyforge.org/mailman/listinfo/mongrel-users > > Zachary Roetemeyer > [EMAIL PROTECTED] > > > > _______________________________________________ > Mongrel-users mailing list > Mongrel-users@rubyforge.org > http://rubyforge.org/mailman/listinfo/mongrel-users > > _______________________________________________ > Mongrel-users mailing list > Mongrel-users@rubyforge.org > http://rubyforge.org/mailman/listinfo/mongrel-users _______________________________________________ Mongrel-users mailing list Mongrel-users@rubyforge.org http://rubyforge.org/mailman/listinfo/mongrel-users