aboutsummaryrefslogtreecommitdiffstats
path: root/lib/inets/src/http_lib/http_request.erl
diff options
context:
space:
mode:
authorCA Meijer <[email protected]>2013-03-02 06:48:04 +0200
committerCA Meijer <[email protected]>2013-03-02 06:48:04 +0200
commit1932aa2bf42bdee119c9a7b9e1a7a1a7e627be15 (patch)
tree2ebb384d4c3a3967d5893a452267ed1ae5bbba43 /lib/inets/src/http_lib/http_request.erl
parent8deb96fb1d017307e22d2ab88968b9ef9f1b71d0 (diff)
downloadotp-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.erl9
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');