diff options
author | CA Meijer <[email protected]> | 2013-03-02 06:48:04 +0200 |
---|---|---|
committer | CA Meijer <[email protected]> | 2013-03-02 06:48:04 +0200 |
commit | 1932aa2bf42bdee119c9a7b9e1a7a1a7e627be15 (patch) | |
tree | 2ebb384d4c3a3967d5893a452267ed1ae5bbba43 /lib/inets/src/http_lib/http_request.erl | |
parent | 8deb96fb1d017307e22d2ab88968b9ef9f1b71d0 (diff) | |
download | otp-1932aa2bf42bdee119c9a7b9e1a7a1a7e627be15.tar.gz otp-1932aa2bf42bdee119c9a7b9e1a7a1a7e627be15.tar.bz2 otp-1932aa2bf42bdee119c9a7b9e1a7a1a7e627be15.zip |
Fix http_request:http_headers/1 to send content-length when length is zero
In R16B01, the http_request:http_headers/1 function removes the content-length
field from the HTTP headers if the content length is zero. This results in
some (perhaps many) HTTP servers rejecting POSTs and PUTs without data with
a 411 status word. From RFC2616, section 14.13: "Any Content-Length greater than
or EQUAL to zero is a valid value".
Diffstat (limited to 'lib/inets/src/http_lib/http_request.erl')
-rw-r--r-- | lib/inets/src/http_lib/http_request.erl | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/lib/inets/src/http_lib/http_request.erl b/lib/inets/src/http_lib/http_request.erl index c214aca4a4..fbfbe7c632 100644 --- a/lib/inets/src/http_lib/http_request.erl +++ b/lib/inets/src/http_lib/http_request.erl @@ -248,13 +248,8 @@ key_value_str(Key = 'content-language', Headers) -> key_value_str(atom_to_list(Key), Headers#http_request_h.'content-language'); key_value_str(Key = 'content-length', Headers) -> - case Headers#http_request_h.'content-length' of - "0" -> - undefined; - _ -> - key_value_str(atom_to_list(Key), - Headers#http_request_h.'content-length') - end; + key_value_str(atom_to_list(Key), + Headers#http_request_h.'content-length'); key_value_str(Key = 'content-location', Headers) -> key_value_str(atom_to_list(Key), Headers#http_request_h.'content-location'); |