57 static int HttpGetRequestHost(
lua_State *luastate)
73 static int HttpGetRequestUriRaw(
lua_State *luastate)
89 static int HttpGetRequestUriNormalized(
lua_State *luastate)
112 static int HttpGetRequestLine(
lua_State *luastate)
128 static int HttpGetResponseLine(
lua_State *luastate)
144 static int HttpGetHeader(
lua_State *luastate,
int dir)
155 return LuaCallbackError(luastate,
"1st argument missing, empty or wrong type");
157 const htp_header_t *h = NULL;
170 static int HttpGetRequestHeader(
lua_State *luastate)
172 return HttpGetHeader(luastate, 0 );
175 static int HttpGetResponseHeader(
lua_State *luastate)
177 return HttpGetHeader(luastate, 1 );
180 static int HttpGetRawHeaders(
lua_State *luastate,
int dir)
200 if (raw == NULL || raw_len == 0)
206 static int HttpGetRawRequestHeaders(
lua_State *luastate)
208 return HttpGetRawHeaders(luastate, 0);
211 static int HttpGetRawResponseHeaders(
lua_State *luastate)
213 return HttpGetRawHeaders(luastate, 1);
217 static int HttpGetHeaders(
lua_State *luastate,
int dir)
232 lua_newtable(luastate);
233 const htp_header_t *h = NULL;
236 for (; i < no_of_headers; i++) {
240 lua_settable(luastate, -3);
246 static int HttpGetRequestHeaders(
lua_State *luastate)
248 return HttpGetHeaders(luastate, 0);
252 static int HttpGetResponseHeaders(
lua_State *luastate)
254 return HttpGetHeaders(luastate, 1);
257 static int HttpGetBody(
lua_State *luastate,
int dir)
277 if (body->
first == NULL)
282 lua_newtable(luastate);
283 while (chunk != NULL) {
284 lua_pushinteger(luastate, index);
286 const uint8_t *data = NULL;
287 uint32_t data_len = 0;
291 lua_settable(luastate, -3);
298 lua_pushinteger(luastate, body->
first->
sbseg.stream_offset);
299 lua_pushinteger(luastate, body->
last->
sbseg.stream_offset + body->
last->
sbseg.segment_len);
306 static int HttpGetRequestBody(
lua_State *luastate)
308 return HttpGetBody(luastate, 0);
311 static int HttpGetResponseBody(
lua_State *luastate)
313 return HttpGetBody(luastate, 1);
320 lua_pushcfunction(luastate, HttpGetRequestHeader);
321 lua_setglobal(luastate,
"HttpGetRequestHeader");
322 lua_pushcfunction(luastate, HttpGetResponseHeader);
323 lua_setglobal(luastate,
"HttpGetResponseHeader");
324 lua_pushcfunction(luastate, HttpGetRequestLine);
325 lua_setglobal(luastate,
"HttpGetRequestLine");
326 lua_pushcfunction(luastate, HttpGetResponseLine);
327 lua_setglobal(luastate,
"HttpGetResponseLine");
328 lua_pushcfunction(luastate, HttpGetRawRequestHeaders);
329 lua_setglobal(luastate,
"HttpGetRawRequestHeaders");
330 lua_pushcfunction(luastate, HttpGetRawResponseHeaders);
331 lua_setglobal(luastate,
"HttpGetRawResponseHeaders");
332 lua_pushcfunction(luastate, HttpGetRequestUriRaw);
333 lua_setglobal(luastate,
"HttpGetRequestUriRaw");
334 lua_pushcfunction(luastate, HttpGetRequestUriNormalized);
335 lua_setglobal(luastate,
"HttpGetRequestUriNormalized");
336 lua_pushcfunction(luastate, HttpGetRequestHeaders);
337 lua_setglobal(luastate,
"HttpGetRequestHeaders");
338 lua_pushcfunction(luastate, HttpGetResponseHeaders);
339 lua_setglobal(luastate,
"HttpGetResponseHeaders");
340 lua_pushcfunction(luastate, HttpGetRequestHost);
341 lua_setglobal(luastate,
"HttpGetRequestHost");
343 lua_pushcfunction(luastate, HttpGetRequestBody);
344 lua_setglobal(luastate,
"HttpGetRequestBody");
345 lua_pushcfunction(luastate, HttpGetResponseBody);
346 lua_setglobal(luastate,
"HttpGetResponseBody");