summaryrefslogtreecommitdiff
path: root/test/new_http_service/http_response.lua
blob: ed6b6df8bd307bcdebbf804d6748f648561ad318 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57

function printf(s,...)
    io.write(s:format(...))
    io.flush()
end

function format_write_file(file, s, ...)
    file:write(s:format(...))
    file:flush()
end

function init()
    ---init something
end

function print_header(header)
    for k, v in pairs(header) do
        if k == "HTTP_OTHER_REGIONS" then
            format_write_file(file, "%s:    ", k)
            for k, v in pairs(header["HTTP_OTHER_REGIONS"]) do
                format_write_file(file, "{%s}   ", v)
            end
            format_write_file(file, "\n")
        else
            format_write_file(file, "%s:    %s\n", k, v)
        end
    end
end

function process()
    file = io.open("./log/lua/http_response.log", "a+")
    format_write_file(file, "lua: call process\n")

    format_write_file(file, "\nprint stream info: \n")
    stream_info = get_stream_info()
    for k, v in pairs(stream_info) do
        format_write_file(file, "%s:  %s\n", k, v)
    end

    local resp_regions = {"HTTP_SERVER", "HTTP_RES_LINE", "HTTP_OTHER_REGIONS"}
    format_write_file(file, "\nprint response headers: \n")
    resp_header = get_http_response_header(resp_regions) 
    print_header(resp_header)

    format_write_file(file, "\nprint response body: \n")
    while true do 
        body = get_http_response_body()
        for k, v in pairs(body) do
            format_write_file(file, "%s:  %s\n", k, v)
        end
        if body['data_end'] == true then
            format_write_file(file, "response body end\n")
            break
        end
    end
    format_write_file(file, "\nlua: process end\n")
end