diff options
author | xmppjingle <barata7@gmail.com> | 2016-07-21 14:03:01 -0300 |
---|---|---|
committer | xmppjingle <barata7@gmail.com> | 2016-07-21 14:03:01 -0300 |
commit | 6983dfa21f2117ebb3d6c2921297708211fc2439 (patch) | |
tree | 7c2209a95727aec46d112e297453ea719daf8a0a | |
parent | Merge remote-tracking branch 'processone/master' (diff) |
External Component Hook
Changed Hook Trigger Event and included a Reason upon
component_disconnected/2 Hook
-rw-r--r-- | src/ejabberd_service.erl | 10 |
1 files 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 |