Bug #1606 ยป mod_magnet.patch
src/mod_magnet.c 2008-03-20 16:52:48.767758309 +0200 | ||
---|---|---|
} type;
|
||
} magnet_env_t;
|
||
static buffer *magnet_env_get_buffer(server *srv, connection *con, const char *key) {
|
||
static buffer *magnet_env_get_buffer(server *srv, connection *con, const char *key, buffer* tmpbuf) {
|
||
buffer *dest = NULL;
|
||
size_t i;
|
||
... | ... | |
case MAGNET_ENV_URI_AUTHORITY: dest = con->uri.authority; break;
|
||
case MAGNET_ENV_URI_QUERY: dest = con->uri.query; break;
|
||
case MAGNET_ENV_REQUEST_METHOD: break;
|
||
case MAGNET_ENV_REQUEST_METHOD:
|
||
if (tmpbuf) {
|
||
buffer_copy_string(tmpbuf, get_http_method_name(con->request.http_method));
|
||
dest = tmpbuf;
|
||
}
|
||
break;
|
||
case MAGNET_ENV_REQUEST_URI: dest = con->request.uri; break;
|
||
case MAGNET_ENV_REQUEST_ORIG_URI: dest = con->request.orig_uri; break;
|
||
case MAGNET_ENV_REQUEST_PROTOCOL: break;
|
||
... | ... | |
con = lua_touserdata(L, -1);
|
||
lua_pop(L, 1);
|
||
dest = magnet_env_get_buffer(srv, con, key);
|
||
buffer *tmpbuf = buffer_init();
|
||
dest = magnet_env_get_buffer(srv, con, key, tmpbuf);
|
||
if (dest && dest->used) {
|
||
lua_pushlstring(L, dest->ptr, dest->used - 1);
|
||
} else {
|
||
lua_pushnil(L);
|
||
}
|
||
buffer_free(tmpbuf);
|
||
return 1;
|
||
}
|
||
... | ... | |
con = lua_touserdata(L, -1);
|
||
lua_pop(L, 1);
|
||
if (NULL != (dest = magnet_env_get_buffer(srv, con, key))) {
|
||
if (NULL != (dest = magnet_env_get_buffer(srv, con, key, NULL))) {
|
||
buffer_copy_string(dest, val);
|
||
} else {
|
||
/* couldn't save */
|