From b3b09bcfd83ce7afe5349259a421e6424440df1c Mon Sep 17 00:00:00 2001 From: Alexey Shchepin Date: Wed, 17 Dec 2003 20:13:21 +0000 Subject: * src/jlib.hrl: Added declaration of "iq" record * (all): Updated to use "iq" record SVN Revision: 186 --- src/ejabberd_local.erl | 41 +++++++++++++++++------------------------ 1 file changed, 17 insertions(+), 24 deletions(-) (limited to 'src/ejabberd_local.erl') diff --git a/src/ejabberd_local.erl b/src/ejabberd_local.erl index 95597bbc2..cf46e73fc 100644 --- a/src/ejabberd_local.erl +++ b/src/ejabberd_local.erl @@ -106,31 +106,24 @@ do_route(State, From, To, Packet) -> process_iq(State, From, To, Packet) -> IQ = jlib:iq_query_info(Packet), case IQ of - {iq, _ID, Type, XMLNS, _SubEl} -> - case jlib:is_iq_request_type(Type) of - true -> - case ets:lookup(State#state.iqtable, XMLNS) of - [{_, Module, Function}] -> - ResIQ = apply(Module, Function, [From, To, IQ]), - if - ResIQ /= ignore -> - ejabberd_router ! {route, - To, - From, - jlib:iq_to_xml(ResIQ)}; - true -> - ok - end; - [{_, Module, Function, Opts}] -> - gen_iq_handler:handle(Module, Function, Opts, - From, To, IQ); - [] -> - Err = jlib:make_error_reply( - Packet, ?ERR_FEATURE_NOT_IMPLEMENTED), - ejabberd_router:route(To, From, Err) + #iq{xmlns = XMLNS} -> + case ets:lookup(State#state.iqtable, XMLNS) of + [{_, Module, Function}] -> + ResIQ = Module:Function(From, To, IQ), + if + ResIQ /= ignore -> + ejabberd_router:route( + To, From, jlib:iq_to_xml(ResIQ)); + true -> + ok end; - _ -> - ok + [{_, Module, Function, Opts}] -> + gen_iq_handler:handle(Module, Function, Opts, + From, To, IQ); + [] -> + Err = jlib:make_error_reply( + Packet, ?ERR_FEATURE_NOT_IMPLEMENTED), + ejabberd_router:route(To, From, Err) end; reply -> ok; -- cgit v1.2.3