Merge pull request #673 from farhadi/master
Fixing issues with unsubscribe hook
This commit is contained in:
commit
887a3a0578
|
@ -44,9 +44,9 @@ rewrite_subscribe({_ClientId, _Username}, {Topic, Opts}, Sections) ->
|
||||||
lager:info("Rewrite subscribe: ~p", [{Topic, Opts}]),
|
lager:info("Rewrite subscribe: ~p", [{Topic, Opts}]),
|
||||||
{ok, {match_topic(Topic, Sections), Opts}}.
|
{ok, {match_topic(Topic, Sections), Opts}}.
|
||||||
|
|
||||||
rewrite_unsubscribe({_ClientId, _Username}, {Topic, Opts}, Sections) ->
|
rewrite_unsubscribe({_ClientId, _Username}, Topic, Sections) ->
|
||||||
lager:info("Rewrite unsubscribe: ~p", [{Topic, Opts}]),
|
lager:info("Rewrite unsubscribe: ~p", [Topic]),
|
||||||
{ok, {match_topic(Topic, Sections), Opts}}.
|
{ok, match_topic(Topic, Sections)}.
|
||||||
|
|
||||||
rewrite_publish(Message=#mqtt_message{topic = Topic}, Sections) ->
|
rewrite_publish(Message=#mqtt_message{topic = Topic}, Sections) ->
|
||||||
%%TODO: this will not work if the client is always online.
|
%%TODO: this will not work if the client is always online.
|
||||||
|
|
|
@ -336,7 +336,7 @@ handle_cast({unsubscribe, Topics}, Session = #session{client_id = ClientId,
|
||||||
Subscriptions1 =
|
Subscriptions1 =
|
||||||
lists:foldl(fun(RawTopic, SubDict) ->
|
lists:foldl(fun(RawTopic, SubDict) ->
|
||||||
{Topic0, _Opts} = emqttd_topic:strip(RawTopic),
|
{Topic0, _Opts} = emqttd_topic:strip(RawTopic),
|
||||||
case emqttd:run_hooks('client.unsubscribe', [ClientId, Username], Topic0) of
|
case emqttd:run_hooks('client.unsubscribe', [{ClientId, Username}], Topic0) of
|
||||||
{ok, Topic1} ->
|
{ok, Topic1} ->
|
||||||
case dict:find(Topic1, SubDict) of
|
case dict:find(Topic1, SubDict) of
|
||||||
{ok, _Qos} ->
|
{ok, _Qos} ->
|
||||||
|
|
Loading…
Reference in New Issue