Browse Source

Merge pull request #673 from farhadi/master

Fixing issues with unsubscribe hook
Feng Lee 9 years ago
parent
commit
887a3a0578
2 changed files with 4 additions and 4 deletions
  1. 3 3
      src/emqttd_mod_rewrite.erl
  2. 1 1
      src/emqttd_session.erl

+ 3 - 3
src/emqttd_mod_rewrite.erl

@@ -44,9 +44,9 @@ rewrite_subscribe({_ClientId, _Username}, {Topic, Opts}, Sections) ->
     lager:info("Rewrite subscribe: ~p", [{Topic, Opts}]),
     {ok, {match_topic(Topic, Sections), Opts}}.
 
-rewrite_unsubscribe({_ClientId, _Username}, {Topic, Opts}, Sections) ->
-    lager:info("Rewrite unsubscribe: ~p", [{Topic, Opts}]),
-    {ok, {match_topic(Topic, Sections), Opts}}.
+rewrite_unsubscribe({_ClientId, _Username}, Topic, Sections) ->
+    lager:info("Rewrite unsubscribe: ~p", [Topic]),
+    {ok, match_topic(Topic, Sections)}.
 
 rewrite_publish(Message=#mqtt_message{topic = Topic}, Sections) ->
     %%TODO: this will not work if the client is always online.

+ 1 - 1
src/emqttd_session.erl

@@ -336,7 +336,7 @@ handle_cast({unsubscribe, Topics}, Session = #session{client_id     = ClientId,
     Subscriptions1 =
     lists:foldl(fun(RawTopic, SubDict) ->
                     {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} ->
                             case dict:find(Topic1, SubDict) of
                                 {ok, _Qos} ->