首页 > 代码库 > 【lua】LWT request请求处理
【lua】LWT request请求处理
request请求处理
通过mod_lwt模块提供的处理程序来调用Lua脚本处理HTTP请求。具体流程:
- 判断该请求是否由LWT处理,如果不是,拒绝处理请求;
- 判断Lua脚本文件是否存在,如果不存在,返回一个HTTP 404(未找到);
- 响应内容类型默认为"text/html";
- 创建一个新的Lua状态;
- 在这个新Lua状态中打开标准Lua库;
- 在Lua的状态下打开httpd.core库;
- 根据适用于该脚本的配置指令设置package.path和package.cpath变量;
- 加载Lua脚本运行,如果遇到一个语法错误、内存不足或者IO错误,则返回一个HTTP 500(内部服务器错误);
- 调用Lua脚本,在传递request请求和args值的时候,如果遇到内存不足或程序出错,则返回一个HTTP 500;
request请求的各种值:
1 require "httpd" 2 local request_fields = { "uri", "protocol", "hostname", "path", "path_info", "args", 3 "method", "filename", "filedir", "user", "auth_type", 4 "local_ip", "remote_ip" } 5 request, args = ... 6 httpd.set_content_type("text/plain; charset=utf8") 7 httpd.write("Hello Lua World\r\n") 8 httpd.write("\n") 9 httpd.write("----------------------------------")10 httpd.write("\n")11 for _, key in ipairs(request_fields) do12 httpd.write(key .." -> " .. (request[key] or "(not set)") .. "\r\n")13 end14 httpd.write("----------------------------------")
【lua】LWT request请求处理
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。