Project

General

Profile

Actions

Feature #2156

closed

request: support Chunked Transfer Coding for HTTP PUT

Added by morgan about 15 years ago. Updated about 7 years ago.

Status:
Fixed
Priority:
Low
Category:
mod_webdav
Target version:
ASK QUESTIONS IN Forums:

Description

The HTTP spec section 3.6.1 describes Chunked Transfer Coding :

http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html

which neither lighttpd 1.4 nor 1.5 supports. It would be very useful for cases where clients wish to upload a file without first specifying the Content-length header, perhaps because they are uploading it while it is being generated.

Curl supports it on the client side (handy for testing):

http://curl.haxx.se/libcurl/c/curl_easy_setopt.html#CURLOPTUPLOAD

"If you use PUT to a HTTP 1.1 server, you can upload data without knowing
the size before starting the transfer if you use chunked encoding. You
enable this by adding a header like "Transfer-Encoding: chunked" with
CURLOPT_HTTPHEADER
With HTTP 1.0 or without chunked transfer, you must specify the size."

Would others find this useful ?

Morgan


Files

Added by gstrauss over 8 years ago

Revision 4d7f5737 (diff)

[core] support Transfer-Encoding: chunked req body (fixes #2156)

support Transfer-Encoding: chunked request body in conjunction with
server.stream-request-body = 0

dynamic handlers will still return 411 Length Required if
server.stream-request-body = 1 or 2 (!= 0)
since CGI-like env requires CONTENT_LENGTH be set
(and mod_proxy currently sends HTTP/1.0 requests to backends,
and Content-Length recommended for robust interaction with backend)

x-ref:
"request: support Chunked Transfer Coding for HTTP PUT"
https://redmine.lighttpd.net/issues/2156

Actions

Also available in: Atom