--- Rspamd interaction package -- contains several subclasses: -- config - for parsing config files -- metric - for handling metrics callbacks -- task - for interaction with task object -- message - gate to GMime functions -- textpart - a single textual part of message module Rspamd --- Each lua module has global rspamd_config that can be used for getting config -- options and registering callbacks (via metric interface) ------------------------------------- CONFIG ----------------------------------------- -- --- Get module option from config -- @param mname module name -- @param option option -- @return string with value function config:get_module_opt (mname, option) --- Get all module options as a table like ['param' => 'value'] -- @param mname module name -- @return table with options function config:get_all_opt (mname) --- Get specified metric -- @param name metric name -- @return metric object function config:get_metric (name) ------------------------------------- METRIC ----------------------------------------- --- Register symbol in metric -- @param symbol name of symbol -- @param weight weight of symbol -- @param callback fucntion that would be called as callback for symbol function metric:register_symbol (symbol, weight, callback) ------------------------------------- TASK ------------------------------------------- --- Get message object from task -- @return message object function task:get_message () --- Insert result to specified metric with specified weight (obsoleted) -- @param metric metric name -- @param symbol symbol name -- @param weight weight of symbol function task:insert_result (metric, symbol, weight) --- Get all urls as array -- @return array of urls in textual form function task:get_urls () --- Get all text parts -- @return array of textpart objects function task:get_text_parts () --- Get raw headers -- @return string that contains raw headers function task:get_raw_headers () --- Get array of received headers -- @return array of received headers that are tables itself function task:get_received_headers () --- Resolve A record using rspamd async resolver -- @param host host to resolve -- @param callback name of callback function function task:resolve_dns_a (host, callback) --- Resolve PTR record using rspamd async resolver -- @param host host to resolve -- @param callback name of callback function function task:resolve_dns_ptr (host, callback) --- Callback function for dns resolving -- @param task task object -- @param to_resolve ptr or a record that was resolved -- @param results results of dns query (array or nil) -- @param err resolver error or nil function dns_cb(task, to_resolve, results, err) ------------------------------------- TEXTPART --------------------------------------- --- Get part's content -- @return string that contains part's content function textpart:get_content () --- Check if part is empty -- @return boolean value function textpart:is_empty () --- Check if part is html -- @return boolean value function textpart:is_html () --- Get part's fuzzy -- @return string that contains part's fuzzy function textpart:get_fuzzy () ------------------------------------- MESSAGE ---------------------------------------- --- Get message subject -- @return message subject function message:get_subject () --- Get message id -- @return message id function message:get_message_id () --- Get sender of message -- @return sender's credits function message:get_sender () --- Get reply-to field -- @return value of reply-to header function message:get_reply_to () --- Get header -- @param header_name name of header -- @return array of headers with specified name function message:get_header (header_name)