forked from vernemq/vernemq_dev
/
on_deliver_hook.erl
31 lines (24 loc) · 1.01 KB
/
on_deliver_hook.erl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
%% @hidden
-module(on_deliver_hook).
-include("vernemq_dev.hrl").
-callback on_deliver(UserName :: username(),
SubscriberId :: subscriber_id(),
QoS :: qos(),
Topic :: topic(),
Payload :: payload(),
IsRetain :: flag(),
MatchedAcl :: matched_acl(),
Persisted :: flag()) -> ok
| {ok, Payload :: payload()}
| {ok, Modifiers :: [msg_modifier()]}
| next.
-type msg_modifier() ::
%% Rewrite the topic of the message.
{topic, topic()}
%% Rewrite the payload of the message.
| {payload, payload()}
%% Rewrite the QoS of the message.
| {qos, qos()}
%% Rewrite the retain flag of the message.
| {retain, flag()}.
-export_type([msg_modifier/0]).