view web/src/luan/modules/web/Http.luan @ 458:507c0af598ba

improve Http.init_for_test
author Franklin Schmidt <fschmidt@gmail.com>
date Wed, 06 May 2015 12:29:37 -0600
parents a8d03e6882c6
children 895afcd2b281
line wrap: on
line source

local Io = require "luan:Io"
require "luan:logging/Logging"  -- initialize logging




function init_for_test()

	function get_page(mod_name)
		local old_out = Io.stdout
		local mod = require("site:"..mod_name)
		mod.service()
		text_writer.close()
		Io.stdout = old_out
		return result.read_text()
	end

	cookies = cookies or {}

	request = {
		parameters = {};
	}
	request.cookies = cookies

	response = {

		text_writer = function()
			result = Io.uri "string:"
			text_writer = result.text_writer()
			return text_writer
		end;

		set_cookie = function(name,value)
			cookies[name] = value
		end;

		remove_cookie = function(name)
			cookies[name] = nil
		end;

		send_redirect = function(url)
			response.redirect = url
		end;

		headers = {};

	}

end