From 6983dfa21f2117ebb3d6c2921297708211fc2439 Mon Sep 17 00:00:00 2001 From: xmppjingle Date: Thu, 21 Jul 2016 14:03:01 -0300 Subject: [PATCH] External Component Hook Changed Hook Trigger Event and included a Reason upon component_disconnected/2 Hook --- src/ejabberd_service.erl | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/ejabberd_service.erl b/src/ejabberd_service.erl index 360475565..9d72b17b4 100644 --- a/src/ejabberd_service.erl +++ b/src/ejabberd_service.erl @@ -290,19 +290,13 @@ stream_established({xmlstreamelement, El}, StateData) -> end, {next_state, stream_established, StateData}; stream_established({xmlstreamend, _Name}, StateData) -> - ejabberd_hooks:run(component_disconnected, - [StateData#state.host]), {stop, normal, StateData}; stream_established({xmlstreamerror, _}, StateData) -> - ejabberd_hooks:run(component_disconnected, - [StateData#state.host]), send_text(StateData, <<(?INVALID_XML_ERR)/binary, (?STREAM_TRAILER)/binary>>), {stop, normal, StateData}; stream_established(closed, StateData) -> - ejabberd_hooks:run(component_disconnected, - [StateData#state.host]), {stop, normal, StateData}. %%---------------------------------------------------------------------- @@ -390,7 +384,9 @@ terminate(Reason, StateName, StateData) -> case StateName of stream_established -> lists:foreach(fun (H) -> - ejabberd_router:unregister_route(H) + ejabberd_router:unregister_route(H), + ejabberd_hooks:run(component_disconnected, + [StateData#state.host, Reason]) end, dict:fetch_keys(StateData#state.host_opts)); _ -> ok