aboutsummaryrefslogtreecommitdiff
path: root/src/mod_blocking.erl
diff options
context:
space:
mode:
authorEvgeniy Khramtsov <ekhramtsov@process-one.net>2016-09-13 12:30:05 +0300
committerEvgeniy Khramtsov <ekhramtsov@process-one.net>2016-09-13 12:30:05 +0300
commite987b888481e3e68f6259e96e7c54af84d168c3c (patch)
tree48ab94c92db66383f7dbf8f4d1a015b6f09f5820 /src/mod_blocking.erl
parentRename #error{} record to #stanza_error{} (diff)
Make common tests working again
Diffstat (limited to 'src/mod_blocking.erl')
-rw-r--r--src/mod_blocking.erl44
1 files changed, 21 insertions, 23 deletions
diff --git a/src/mod_blocking.erl b/src/mod_blocking.erl
index 55e3ca151..b3bbff96e 100644
--- a/src/mod_blocking.erl
+++ b/src/mod_blocking.erl
@@ -74,39 +74,37 @@ process_iq(IQ) ->
-spec process_iq_get({error, stanza_error()} | {result, xmpp_element() | undefined},
iq(), userlist()) ->
- {error, stanza_error()} | {result, block_list()}.
+ {error, stanza_error()} |
+ {result, xmpp_element() | undefined}.
process_iq_get(_, #iq{lang = Lang, from = From,
sub_els = [#block_list{}]}, _) ->
#jid{luser = LUser, lserver = LServer} = From,
- {stop, process_blocklist_get(LUser, LServer, Lang)};
+ process_blocklist_get(LUser, LServer, Lang);
process_iq_get(Acc, _, _) -> Acc.
-spec process_iq_set({error, stanza_error()} |
{result, xmpp_element() | undefined} |
{result, xmpp_element() | undefined, userlist()},
iq()) -> {error, stanza_error()} |
- {result, undefined} |
- {result, undefined, userlist()}.
-process_iq_set(_, #iq{from = From, lang = Lang, sub_els = [SubEl]}) ->
+ {result, xmpp_element() | undefined} |
+ {result, xmpp_element() | undefined, userlist()}.
+process_iq_set(Acc, #iq{from = From, lang = Lang, sub_els = [SubEl]}) ->
#jid{luser = LUser, lserver = LServer} = From,
- Res = case SubEl of
- #block{items = []} ->
- Txt = <<"No items found in this query">>,
- {error, xmpp:err_bad_request(Txt, Lang)};
- #block{items = Items} ->
- JIDs = [jid:tolower(Item) || Item <- Items],
- process_blocklist_block(LUser, LServer, JIDs, Lang);
- #unblock{items = []} ->
- process_blocklist_unblock_all(LUser, LServer, Lang);
- #unblock{items = Items} ->
- JIDs = [jid:tolower(Item) || Item <- Items],
- process_blocklist_unblock(LUser, LServer, JIDs, Lang);
- _ ->
- Txt = <<"Only <block/> and <unblock/> are allowed "
- "in this request">>,
- {error, xmpp:err_bad_request(Txt, Lang)}
- end,
- {stop, Res};
+ case SubEl of
+ #block{items = []} ->
+ Txt = <<"No items found in this query">>,
+ {error, xmpp:err_bad_request(Txt, Lang)};
+ #block{items = Items} ->
+ JIDs = [jid:tolower(Item) || Item <- Items],
+ process_blocklist_block(LUser, LServer, JIDs, Lang);
+ #unblock{items = []} ->
+ process_blocklist_unblock_all(LUser, LServer, Lang);
+ #unblock{items = Items} ->
+ JIDs = [jid:tolower(Item) || Item <- Items],
+ process_blocklist_unblock(LUser, LServer, JIDs, Lang);
+ _ ->
+ Acc
+ end;
process_iq_set(Acc, _) -> Acc.
-spec list_to_blocklist_jids([listitem()], [ljid()]) -> [ljid()].