瀏覽代碼

Remove all dependencies on emqx_client.hrl

周子博 6 年之前
父節點
當前提交
0cdb0d5591
共有 2 個文件被更改,包括 4 次插入18 次删除
  1. 3 10
      test/emqx_request_handler.erl
  2. 1 8
      test/emqx_request_sender.erl

+ 3 - 10
test/emqx_request_handler.erl

@@ -23,8 +23,6 @@
 
 -export([start_link/4, stop/1]).
 
--include("emqx_client.hrl").
-
 -type qos() :: emqx_mqtt_types:qos_name() | emqx_mqtt_types:qos().
 -type topic() :: emqx_topic:topic().
 -type handler() :: fun((CorrData :: binary(), ReqPayload :: binary()) -> RspPayload :: binary()).
@@ -65,26 +63,21 @@ handle_msg(ReqMsg, RequestHandler, Parent) ->
             CorrData = maps:get('Correlation-Data', Props),
             RspProps = maps:without(['Response-Topic'], Props),
             RspPayload = RequestHandler(CorrData, ReqPayload),
-            RspMsg = #mqtt_msg{qos = QoS,
-                               topic = RspTopic,
-                               props = RspProps,
-                               payload = RspPayload
-                              },
             emqx_logger:debug("~p sending response msg to topic ~s with~n"
                               "corr-data=~p~npayload=~p",
                               [?MODULE, RspTopic, CorrData, RspPayload]),
-            ok = send_response(RspMsg);
+            ok = send_response(RspTopic, RspProps, RspPayload, QoS);
         _ ->
             Parent ! {discarded, ReqPayload},
             ok
     end.
 
-send_response(Msg) ->
+send_response(Topic, Properties, Payload, QoS) ->
     %% This function is evaluated by emqx_client itself.
     %% hence delegate to another temp process for the loopback gen_statem call.
     Client = self(),
     _ = spawn_link(fun() ->
-                           case emqx_client:publish(Client, Msg) of
+                           case emqx_client:publish(Client, Topic, Properties, Payload, [{qos, QoS}]) of
                                ok -> ok;
                                {ok, _} -> ok;
                                {error, Reason} -> exit({failed_to_publish_response, Reason})

+ 1 - 8
test/emqx_request_sender.erl

@@ -22,8 +22,6 @@
 
 -export([start_link/3, stop/1, send/6]).
 
--include("emqx_client.hrl").
-
 start_link(ResponseTopic, QoS, Options0) ->
     Parent = self(),
     MsgHandler = make_msg_handler(Parent),
@@ -48,12 +46,7 @@ send(Client, ReqTopic, RspTopic, CorrData, Payload, QoS) ->
     Props = #{'Response-Topic' => RspTopic,
               'Correlation-Data' => CorrData
              },
-    Msg = #mqtt_msg{qos = QoS,
-                    topic = ReqTopic,
-                    props = Props,
-                    payload = Payload
-                   },
-    case emqx_client:publish(Client, Msg) of
+    case emqx_client:publish(Client, ReqTopic, Props, Payload, [{qos, QoS}]) of
         ok -> ok; %% QoS = 0
         {ok, _} -> ok;
         {error, _} = E -> E