view src/luan/modules/http/tools/Dump_mod.luan @ 1150:0842b9b570f8

change http headers interface
author Franklin Schmidt <fschmidt@gmail.com>
date Sun, 04 Feb 2018 18:03:37 -0700
parents 3bf5190b3c77
children 4beabb087be6
line wrap: on
line source

local Luan = require "luan:Luan.luan"
local error = Luan.error
local pairs = Luan.pairs or error()
local ipairs = Luan.ipairs or error()
local Io = require "luan:Io.luan"
local Http = require "luan:http/Http.luan"


local Dump_mod = {}

function Dump_mod.respond()
	Http.response.headers["content-type"] = "text/plain"
	Io.stdout = Http.response.text_writer()

	local method = Http.request.method
	local path = Http.request.path
	local query = Http.request.query_string()
	if method ~= "POST" and query ~= nil then
		path = path.."?"..query
	end
%>
<%=method%> <%=path%> <%=Http.request.protocol%> 
<%
	Dump_mod.dump_headers(Http.request.headers)
%>

<%
	if method == "POST" and query ~= nil then
%>
<%=query%>
<%
	end
end


function Dump_mod.dump_headers(headers)
	for name, values in pairs(headers) do
		for _, value in ipairs(values) do
%>
<%=name%>: <%=value%>
<%
		end
	end
end

return Dump_mod