1
1
% % name of module must match file name
2
2
% % Update: info@ph-f.nl
3
3
-module (mod_offline_http_post ).
4
+ -author (" dev@codepond.org" ).
4
5
5
6
-behaviour (gen_mod ).
6
7
7
- -export ([start /2 , stop /1 , create_message /3 ]).
8
+ -export ([start /2 , stop /1 , create_message /1 , create_message / 3 ]).
8
9
9
10
-include (" ejabberd.hrl" ).
10
11
-include (" xmpp.hrl" ).
11
12
-include (" logger.hrl" ).
12
13
13
14
start (_Host , _Opt ) ->
14
- ? INFO_MSG (" mod_offline_http_post loading" , []),
15
- inets :start (),
16
- ? INFO_MSG (" HTTP client started" , []),
17
- ejabberd_hooks :add (offline_message_hook , _Host , ? MODULE , create_message , 1 ).
15
+ ? INFO_MSG (" mod_offline_http_post loading" , []),
16
+ inets :start (),
17
+ ? INFO_MSG (" HTTP client started" , []),
18
+ ejabberd_hooks :add (offline_message_hook , _Host , ? MODULE , create_message , 1 ).
18
19
19
20
stop (_Host ) ->
20
- ? INFO_MSG (" stopping mod_offline_http_post" , []),
21
- ejabberd_hooks :delete (offline_message_hook , _Host , ? MODULE , create_message , 1 ).
21
+ ? INFO_MSG (" stopping mod_offline_http_post" , []),
22
+ ejabberd_hooks :delete (offline_message_hook , _Host , ? MODULE , create_message , 1 ).
22
23
23
24
create_message ({Action , Packet } = Acc ) when (Packet # message .type == chat ) and (Packet # message .body /= []) ->
24
25
[{text , _ , Body }] = Packet # message .body ,
25
26
post_offline_message (Packet # message .from , Packet # message .to , Body , " SubType" , Packet # message .id ),
26
27
Acc .
27
28
28
- create_message (_From , _To , Packet )
29
- when (Packet # message .type == chat ) and (Packet # message .body /= []) ->
30
- Body = fxml :get_path_s (Packet , [{elem , list_to_binary (" body" )}, cdata ]),
31
- MessageId = fxml :get_tag_attr_s (list_to_binary (" id" ), Packet ),
32
- post_offline_message (_From , _To , Body , " SubType" , MessageId ),
33
- ok .
29
+ create_message (_From , _To , Packet ) when (Packet # message .type == chat ) and (Packet # message .body /= []) ->
30
+ Body = fxml :get_path_s (Packet , [{elem , list_to_binary (" body" )}, cdata ]),
31
+ MessageId = fxml :get_tag_attr_s (list_to_binary (" id" ), Packet ),
32
+ post_offline_message (_From , _To , Body , " SubType" , MessageId ),
33
+ ok .
34
34
35
35
post_offline_message (From , To , Body , SubType , MessageId ) ->
36
36
? INFO_MSG (" Posting From ~p To ~p Body ~p SubType ~p ID ~p~n " ,[From , To , Body , SubType , MessageId ]),
@@ -41,6 +41,5 @@ post_offline_message(From, To, Body, SubType, MessageId) ->
41
41
Vhost = To # jid .lserver ,
42
42
Data = string :join ([" to=" , binary_to_list (ToUser ), " &from=" , binary_to_list (FromUser ), " &vhost=" , binary_to_list (Vhost ), " &body=" , binary_to_list (Body ), " &messageId=" , binary_to_list (MessageId )], " " ),
43
43
Request = {binary_to_list (PostUrl ), [{" Authorization" , binary_to_list (Token )}], " application/x-www-form-urlencoded" , Data },
44
- httpc :request (post , Request ,[],[]),
45
- ? INFO_MSG (" post request sent" , []).
46
-
44
+ httpc :request (post , Request ,[],[]),
45
+ ? INFO_MSG (" post request sent" , []).
0 commit comments