Просмотр исходного кода

cowbot_req:has_body:/1 improved

0xAX 12 лет назад
Родитель
Сommit
1de2e1f2a4
1 измененных файлов с 8 добавлено и 2 удалено
  1. 8 2
      src/cowboy_req.erl

+ 8 - 2
src/cowboy_req.erl

@@ -564,8 +564,14 @@ set_meta(Name, Value, Req=#http_req{meta=Meta}) ->
 %% @doc Return whether the request message has a body.
 -spec has_body(cowboy_req:req()) -> boolean().
 has_body(Req) ->
-	lists:keymember(<<"content-length">>, 1, Req#http_req.headers) orelse
-		lists:keymember(<<"transfer-encoding">>, 1, Req#http_req.headers).
+	case lists:keyfind(<<"content-length">>, 1, Req#http_req.headers) of
+		{_, <<"0">>} ->
+			false;
+		{_, _} ->
+			true;
+		_ ->
+			lists:keymember(<<"transfer-encoding">>, 1, Req#http_req.headers)
+	end.
 
 %% @doc Return the request message body length, if known.
 %%