tests/test_net_http_parser.lua
changeset 8239 4878e4159e12
parent 8238 7d9a2c200736
child 8240 f81cd9aaf994
equal deleted inserted replaced
8238:7d9a2c200736 8239:4878e4159e12
     1 local httpstreams = { [[
       
     2 GET / HTTP/1.1
       
     3 Host: example.com
       
     4 
       
     5 ]], [[
       
     6 HTTP/1.1 200 OK
       
     7 Content-Length: 0
       
     8 
       
     9 ]], [[
       
    10 HTTP/1.1 200 OK
       
    11 Content-Length: 7
       
    12 
       
    13 Hello
       
    14 HTTP/1.1 200 OK
       
    15 Transfer-Encoding: chunked
       
    16 
       
    17 1
       
    18 H
       
    19 1
       
    20 e
       
    21 2
       
    22 ll
       
    23 1
       
    24 o
       
    25 0
       
    26 
       
    27 
       
    28 ]]
       
    29 }
       
    30 
       
    31 function new(new)
       
    32 
       
    33 	for _, stream in ipairs(httpstreams) do
       
    34 		local success;
       
    35 		local function success_cb(packet)
       
    36 			success = true;
       
    37 		end
       
    38 		stream = stream:gsub("\n", "\r\n");
       
    39 		local parser = new(success_cb, error, stream:sub(1,4) == "HTTP" and "client" or "server")
       
    40 		for chunk in stream:gmatch("..?.?") do
       
    41 			parser:feed(chunk);
       
    42 		end
       
    43 
       
    44 		assert_is(success);
       
    45 	end
       
    46 
       
    47 end