Browse Source

[Feature] Add map:get_uri method

tags/1.2.0
Vsevolod Stakhov 8 years ago
parent
commit
eecfe4ea3a
1 changed files with 30 additions and 0 deletions
  1. 30
    0
      src/lua/lua_map.c

+ 30
- 0
src/lua/lua_map.c View File

@@ -79,6 +79,13 @@ LUA_FUNCTION_DEF (map, set_sign_key);
*/
LUA_FUNCTION_DEF (map, set_callback);

/***
* @method map:get_uri()
* Get uri for a specified map
* @return {string} map's URI
*/
LUA_FUNCTION_DEF (map, get_uri);

static const struct luaL_reg maplib_m[] = {
LUA_INTERFACE_DEF (map, get_key),
LUA_INTERFACE_DEF (map, is_signed),
@@ -86,6 +93,7 @@ static const struct luaL_reg maplib_m[] = {
LUA_INTERFACE_DEF (map, get_sign_key),
LUA_INTERFACE_DEF (map, set_sign_key),
LUA_INTERFACE_DEF (map, set_callback),
LUA_INTERFACE_DEF (map, get_uri),
{"__tostring", rspamd_lua_class_tostring},
{NULL, NULL}
};
@@ -629,6 +637,28 @@ lua_map_set_callback (lua_State *L)
return 0;
}

static int
lua_map_get_uri (lua_State *L)
{
struct rspamd_lua_map *map = lua_check_map (L);
const gchar *ret = "undefined";

if (map != NULL) {
if (map->map == NULL) {
ret = "embedded";
}
else {
ret = map->map->uri;
}
}
else {
return luaL_error (L, "invalid arguments");
}

lua_pushstring (L, ret);
return 1;
}

void
luaopen_map (lua_State * L)
{

Loading…
Cancel
Save