File

tests/test_net_http_parser.lua @ 7688:88ad2d5bcf80

net.server_event: Restore destruction of socket on read timeout (lost since e67891ad18d6) (thanks Ge0rG)
author Kim Alvefur <zash@zash.se>
date Sat, 08 Oct 2016 14:07:07 +0200
parent 7493:f67b7509ee28
line wrap: on
line source

local httpstreams = { [[
GET / HTTP/1.1
Host: example.com

]], [[
HTTP/1.1 200 OK
Content-Length: 0

]], [[
HTTP/1.1 200 OK
Content-Length: 7

Hello
HTTP/1.1 200 OK
Transfer-Encoding: chunked

1
H
1
e
2
ll
1
o
0


]]
}

function new(new)

	for _, stream in ipairs(httpstreams) do
		local success;
		local function success_cb(packet)
			success = true;
		end
		stream = stream:gsub("\n", "\r\n");
		local parser = new(success_cb, error, stream:sub(1,4) == "HTTP" and "client" or "server")
		for chunk in stream:gmatch("..?.?") do
			parser:feed(chunk);
		end

		assert_is(success);
	end

end