diff options
author | Paweł Chmielowski <pchmielowski@process-one.net> | 2015-09-04 12:42:53 +0200 |
---|---|---|
committer | Paweł Chmielowski <pchmielowski@process-one.net> | 2015-09-04 12:42:53 +0200 |
commit | f56a9e400dd1857484c9898f0b746f0a44ad2ac8 (patch) | |
tree | 686acb299b0d67528fa11d531c9538b544ac9fa3 /src/ejabberd_http_ws.erl | |
parent | New XEP-0198 option: "max_resume_timeout" (diff) |
Pass stream management options defined in http listener to http-bind and websocket
Diffstat (limited to 'src/ejabberd_http_ws.erl')
-rw-r--r-- | src/ejabberd_http_ws.erl | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/ejabberd_http_ws.erl b/src/ejabberd_http_ws.erl index 902c32f2..dd6854f8 100644 --- a/src/ejabberd_http_ws.erl +++ b/src/ejabberd_http_ws.erl @@ -111,8 +111,14 @@ socket_handoff(LocalPath, Request, Socket, SockMod, Buf, Opts) -> %%% Internal -init([{#ws{ip = IP}, _} = WS]) -> - Opts = [{xml_socket, true} | ejabberd_c2s_config:get_c2s_limits()], +init([{#ws{ip = IP, http_opts = HOpts}, _} = WS]) -> + SOpts = lists:filtermap(fun({stream_managment, _}) -> true; + ({max_ack_queue, _}) -> true; + ({resume_timeout, _}) -> true; + ({resend_on_timeout, _}) -> true; + (_) -> false + end, HOpts), + Opts = [{xml_socket, true} | ejabberd_c2s_config:get_c2s_limits() ++ SOpts], PingInterval = ejabberd_config:get_option( {websocket_ping_interval, ?MYNAME}, fun(I) when is_integer(I), I>=0 -> I end, |