On Wed, Sep 10, 2008 at 11:07:49AM -0400, Zach Beane wrote: > On Wed, Sep 10, 2008 at 05:03:33PM +0200, Edi Weitz wrote: > > On Wed, 10 Sep 2008 09:20:30 -0400, Zach Beane <[EMAIL PROTECTED]> wrote: > > > > > Is there any way to send a non-chunked request without having the > > > entire content in memory at once? > > > > You can set the content length header yourself. In that case Drakma > > shouldn't use chunked encoding IIRC. > > > > http://weitz.de/drakma/#content-length
Attached is a small patch that updates Drakma so it doesn't reject a content-length if content is :continuation. It has allowed me to upload big files without loading them into memory first. Zach
diff --git a/doc/index.html b/doc/index.html index 1474aae..3e3057e 100755 --- a/doc/index.html +++ b/doc/index.html @@ -871,7 +871,9 @@ use <a href="http://weitz.de/chunga/">chunked encoding</a> to send the content body. Note that this will not work with some older web servers. <p> -<a class=none name="content-length2">A non-<code>NIL</code> <code><i>content-length</i></code> argument</a> +When <code><i>content</i></code> is +not <code>:CONTINUATION</code>, <a class=none name="content-length2">a +non-<code>NIL</code> <code><i>content-length</i></code> argument</a> means that Drakma <em>must</em> build the request body in RAM and compute the content length even if it would have otherwise used chunked encoding - for example in the case of file uploads. A special diff --git a/request.lisp b/request.lisp index f56a113..fac9cb1 100755 --- a/request.lisp +++ b/request.lisp @@ -386,8 +386,6 @@ LispWorks 5.0 or higher." (error "Don't know how to handle scheme ~S." (uri-scheme uri))) (when (and close keep-alive) (error "CLOSE and KEEP-ALIVE must not be both true.")) - (when (and (eq content :continuation) content-length) - (error "CONTENT-LENGTH must be NIL if CONTENT is :CONTINUATION.")) (when (and form-data (not (eq method :post))) (error "FORM-DATA makes only sense with POST requests.")) ;; convert PROXY argument to canonical form
_______________________________________________ drakma-devel mailing list drakma-devel@common-lisp.net http://common-lisp.net/cgi-bin/mailman/listinfo/drakma-devel