aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEvgeniy Khramtsov <ekhramtsov@process-one.net>2017-01-21 10:47:55 +0300
committerEvgeniy Khramtsov <ekhramtsov@process-one.net>2017-01-21 10:47:55 +0300
commit94b23482a98f92e65dcfbf9c0485519b5160d8a4 (patch)
treee0579f74441b591fb942e513d87877dc5a322c41 /src
parentMerge pull request #1478 from weiss/multi-host-pubsub-cache (diff)
Send <compressed/> in correct order
Diffstat (limited to 'src')
-rw-r--r--src/xmpp_stream_in.erl22
1 files changed, 11 insertions, 11 deletions
diff --git a/src/xmpp_stream_in.erl b/src/xmpp_stream_in.erl
index 63a4d4c7f..cb3dbcb66 100644
--- a/src/xmpp_stream_in.erl
+++ b/src/xmpp_stream_in.erl
@@ -696,22 +696,22 @@ process_compress(#compress{methods = HisMethods},
CommonMethods = lists_intersection(MyMethods, HisMethods),
case lists:member(<<"zlib">>, CommonMethods) of
true ->
- State1 = send_pkt(State, #compressed{}),
- case is_disconnected(State1) of
- true -> State1;
- false ->
- case SockMod:compress(Socket) of
- {ok, ZlibSocket} ->
+ case SockMod:compress(Socket) of
+ {ok, ZlibSocket} ->
+ State1 = send_pkt(State, #compressed{}),
+ case is_disconnected(State1) of
+ true -> State1;
+ false ->
State1#{socket => ZlibSocket,
stream_id => new_id(),
stream_header_sent => false,
stream_restarted => true,
stream_state => wait_for_stream,
- stream_compressed => true};
- {error, _} ->
- Err = #compress_failure{reason = 'setup-failed'},
- send_pkt(State1, Err)
- end
+ stream_compressed => true}
+ end;
+ {error, _} ->
+ Err = #compress_failure{reason = 'setup-failed'},
+ send_pkt(State, Err)
end;
false ->
send_pkt(State, #compress_failure{reason = 'unsupported-method'})