Beispiel #1
0
DEF_LUA_MODIFY_GSTRING(path)
DEF_LUA_MODIFY_GSTRING(doc_root)
DEF_LUA_MODIFY_GSTRING(pathinfo)

#undef DEF_LUA_MODIFY_GSTRING

#define AR(m) { #m, lua_physical_attr_read_##m, NULL }
#define AW(m) { #m, NULL, lua_physical_attr_write_##m }
#define ARW(m) { #m, lua_physical_attr_read_##m, lua_physical_attr_write_##m }

static const struct {
	const char* key;
	lua_Physical_Attrib read_attr, write_attr;
} physical_attribs[] = {
	ARW(path),
	ARW(doc_root),
	ARW(pathinfo),

	{ NULL, NULL, NULL }
};

#undef AR
#undef AW
#undef ARW


static int lua_physical_index(lua_State *L) {
	liPhysical *phys;
	const char *key;
	int i;
Beispiel #2
0
}

static int lua_chunkqueue_attr_write_is_closed(liChunkQueue *cq, lua_State *L) {
	cq->is_closed = lua_toboolean(L, 3);
	return 0;
}

#define AR(m) { #m, lua_chunkqueue_attr_read_##m, NULL }
#define AW(m) { #m, NULL, lua_chunkqueue_attr_write_##m }
#define ARW(m) { #m, lua_chunkqueue_attr_read_##m, lua_chunkqueue_attr_write_##m }

static const struct {
	const char* key;
	lua_ChunkQueue_Attrib read_attr, write_attr;
} chunkqueue_attribs[] = {
	ARW(is_closed),

	{ NULL, NULL, NULL }
};

static int lua_chunkqueue_index(lua_State *L) {
	liChunkQueue *cq;
	const char *key;
	int i;

	if (lua_gettop(L) != 2) {
		lua_pushstring(L, "incorrect number of arguments");
		lua_error(L);
	}

	if (li_lua_metatable_index(L)) return 1;
Beispiel #3
0
DEF_LUA_MODIFY_GSTRING(authority)
DEF_LUA_MODIFY_GSTRING(path)
DEF_LUA_MODIFY_GSTRING(query)
DEF_LUA_MODIFY_GSTRING(host)

#undef DEF_LUA_MODIFY_GSTRING

#define AR(m) { #m, lua_requesturi_attr_read_##m, NULL }
#define AW(m) { #m, NULL, lua_requesturi_attr_write_##m }
#define ARW(m) { #m, lua_requesturi_attr_read_##m, lua_requesturi_attr_write_##m }

static const struct {
	const char* key;
	lua_RequestUri_Attrib read_attr, write_attr;
} requesturi_attribs[] = {
	ARW(raw),
	ARW(raw_path),
	ARW(raw_orig_path),
	ARW(scheme),
	ARW(authority),
	ARW(path),
	ARW(query),
	ARW(host),

	{ NULL, NULL, NULL }
};

#undef AR
#undef AW
#undef ARW