diff options
author | Paweł Chmielowski <pchmielowski@process-one.net> | 2018-05-23 14:52:47 +0200 |
---|---|---|
committer | Paweł Chmielowski <pchmielowski@process-one.net> | 2018-05-23 14:52:47 +0200 |
commit | 97f7d990075bd84931595cd5027632c40ddc8da9 (patch) | |
tree | e2090bc32f6a3a90e8f7506f868aecb95ab43dab | |
parent | Merge pull request #2431 from yokomizor/fix-xmpp-commit (diff) |
Handle "Expect: 100-continue" request header in ejabberd_http
-rw-r--r-- | src/ejabberd_http.erl | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/ejabberd_http.erl b/src/ejabberd_http.erl index e3cba3d95..7afe1ce55 100644 --- a/src/ejabberd_http.erl +++ b/src/ejabberd_http.erl @@ -462,6 +462,7 @@ process_request(#state{request_host = undefined, process_request(#state{request_method = Method, request_auth = Auth, request_lang = Lang, + request_version = Version, sockmod = SockMod, socket = Socket, options = Options, @@ -472,6 +473,12 @@ process_request(#state{request_method = Method, request_headers = RequestHeaders, request_handlers = RequestHandlers, custom_headers = CustomHeaders} = State) -> + case proplists:get_value(<<"Expect">>, RequestHeaders, <<>>) of + <<"100-", _/binary>> when Version == {1, 1} -> + send_text(State, <<"HTTP/1.1 100 Continue\r\n\r\n">>); + _ -> + ok + end, case extract_path_query(State) of {State2, false} -> {State2, make_bad_request(State)}; |