Include to/from info in POSTed headers
This commit is contained in:
		
							parent
							
								
									d265730f31
								
							
						
					
					
						commit
						0df57edeef
					
				@ -64,18 +64,22 @@ log_chat(From, To, {xmlelement, _Name, _Attrs, Els} = Packet) ->
 | 
				
			|||||||
            log_chat_with_body(From, To, Packet)
 | 
					            log_chat_with_body(From, To, Packet)
 | 
				
			||||||
    end.
 | 
					    end.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
log_chat_with_body(_From, _To, Packet) ->
 | 
					log_chat_with_body(From, To, Packet) ->
 | 
				
			||||||
    post_xml(xml:element_to_binary(Packet)).
 | 
					    post_xml(From, To, xml:element_to_binary(Packet)).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
post_xml(Xml) ->
 | 
					post_xml(From, To, Xml) ->
 | 
				
			||||||
    Ts = to_iso_8601_date(os:timestamp()),
 | 
					    Ts = to_iso_8601_date(os:timestamp()),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    Body = Xml,
 | 
					    Body = Xml,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    Url = get_opt(url),
 | 
					    Url = get_opt(url),
 | 
				
			||||||
    TsHeader = get_opt(ts_header, "X-Message-Timestamp"),
 | 
					    TsHeader = get_opt(ts_header, "X-Message-Timestamp"),
 | 
				
			||||||
    Headers = [ {TsHeader, Ts} | get_opt(headers, []) ],
 | 
					    FromHeader = get_opt(from_header, "X-Message-From"),
 | 
				
			||||||
    io:format("Headers: ~p\n", [Headers]),
 | 
					    ToHeader = get_opt(to_header, "X-Message-To"),
 | 
				
			||||||
 | 
					    Headers = [ {TsHeader,   Ts},
 | 
				
			||||||
 | 
					                {FromHeader, format_jid(From)},
 | 
				
			||||||
 | 
					                {ToHeader,   format_jid(To)}
 | 
				
			||||||
 | 
					                | get_opt(headers, []) ],
 | 
				
			||||||
    ContentType = get_opt(content_type, "text/xml"),
 | 
					    ContentType = get_opt(content_type, "text/xml"),
 | 
				
			||||||
    HttpOptions = get_opt(http_options, []),
 | 
					    HttpOptions = get_opt(http_options, []),
 | 
				
			||||||
    ReqOptions = get_opt(req_options, []),
 | 
					    ReqOptions = get_opt(req_options, []),
 | 
				
			||||||
@ -127,6 +131,16 @@ get_opt(Opt, Default) ->
 | 
				
			|||||||
report_error(ReportArgs) ->
 | 
					report_error(ReportArgs) ->
 | 
				
			||||||
    ok = error_logger:error_report([ mod_post_log_cannot_post | ReportArgs ]).
 | 
					    ok = error_logger:error_report([ mod_post_log_cannot_post | ReportArgs ]).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					format_jid(#jid{luser = User, lserver = Server, lresource = Resource})
 | 
				
			||||||
 | 
					  when Resource =:= undefined;
 | 
				
			||||||
 | 
					       Resource =:= "";
 | 
				
			||||||
 | 
					       Resource =:= <<"">> ->
 | 
				
			||||||
 | 
					    %% The guard above feels defensive, but I don't yet know the full
 | 
				
			||||||
 | 
					    %% set of ways that ejabberd will represent an empty resource
 | 
				
			||||||
 | 
					    io_lib:format("~s@~s", [User, Server]);
 | 
				
			||||||
 | 
					format_jid(#jid{luser = User, lserver = Server, lresource = Resource}) ->
 | 
				
			||||||
 | 
					    io_lib:format("~s@~s/~s", [User, Server, Resource]).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
%% Erlang now()-style timestamps are in UTC by definition, and we are
 | 
					%% Erlang now()-style timestamps are in UTC by definition, and we are
 | 
				
			||||||
%% assuming ISO 8601 dates should be printed in UTC as well, so no
 | 
					%% assuming ISO 8601 dates should be printed in UTC as well, so no
 | 
				
			||||||
%% conversion necessary
 | 
					%% conversion necessary
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user