${CMAKE_CURRENT_SOURCE_DIR}/lua_mimepart.c
${CMAKE_CURRENT_SOURCE_DIR}/lua_url.c
${CMAKE_CURRENT_SOURCE_DIR}/lua_util.c
- ${CMAKE_CURRENT_SOURCE_DIR}/lua_tcp.c)
+ ${CMAKE_CURRENT_SOURCE_DIR}/lua_tcp.c
+ ${CMAKE_CURRENT_SOURCE_DIR}/lua_html.c)
SET(RSPAMD_LUA ${LUASRC} PARENT_SCOPE)
\ No newline at end of file
--- /dev/null
+/*
+ * Copyright (c) 2015, Vsevolod Stakhov
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY AUTHOR ''AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL AUTHOR BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+
+#include "lua_common.h"
+#include "message.h"
+#include "html.h"
+#include "images.h"
+
+/***
+ * @module rspamd_html
+ * This module provides different methods to access HTML tags. To get HTML context
+ * from an HTML part you could use method `part:get_html()`
+ * @example
+rspamd_config.R_HTML_IMAGE = function (task)
+ parts = task:get_text_parts()
+ if parts then
+ for _,part in ipairs(parts) do
+ if part:is_html() then
+ local html = part:get_html()
+ -- Do something with html
+ end
+ end
+ end
+ return false
+end
+ */
+
+static const struct luaL_reg htmllib_m[] = {
+ {"__tostring", rspamd_lua_class_tostring},
+ {NULL, NULL}
+};
+
+
+void
+luaopen_html (lua_State * L)
+{
+ rspamd_lua_new_class (L, "rspamd{html}", htmllib_m);
+ lua_pop (L, 1);
+}