diff options
author | 0xAX <[email protected]> | 2013-02-14 18:56:52 +0600 |
---|---|---|
committer | 0xAX <[email protected]> | 2013-02-14 18:56:52 +0600 |
commit | 1de2e1f2a45a82415a879910d7533498ecde8054 (patch) | |
tree | f0355bb912e716506c0362747799295dd0252a93 | |
parent | 46cce4814390a2917563ce7af82e0e1bbfc81ed3 (diff) | |
download | cowboy-1de2e1f2a45a82415a879910d7533498ecde8054.tar.gz cowboy-1de2e1f2a45a82415a879910d7533498ecde8054.tar.bz2 cowboy-1de2e1f2a45a82415a879910d7533498ecde8054.zip |
cowbot_req:has_body:/1 improved
-rw-r--r-- | src/cowboy_req.erl | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/cowboy_req.erl b/src/cowboy_req.erl index 0c4969d..8c9a618 100644 --- a/src/cowboy_req.erl +++ b/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. %% |