@@ -57,55 +57,46 @@ local function recvFullBody(request, T1)
57
57
return table.concat (body ), status
58
58
end
59
59
60
- r : get ( ' /get ' , function (request , response )
60
+ local function buildResponse (request )
61
61
local headers = request :headers ()
62
62
local params = request :params ()
63
63
local path = request :path ()
64
64
local ip = request .ip
65
+ local host = headers and headers .Host or ' 127.0.0.1'
66
+ local url = string.format (' http://%s%s' , host , path )
65
67
66
- local body , status = recvFullBody (request , 15 )
67
-
68
- local result = json .encode ({
68
+ return {
69
69
args = params ;
70
70
headers = headers ;
71
71
origin = ip ;
72
- content = body ;
73
- url = ' http://127.0.0.1' .. path ;
74
- }, {indent = true })
72
+ url = url ;
73
+ }
74
+ end
75
+
76
+ r :get (' /get' , function (request , response )
77
+ local result = buildResponse (request )
78
+ result .body = recvFullBody (request , 15 )
75
79
76
80
response :statusCode (200 )
77
- response :addHeader (' Connection' , ' close' )
78
81
response :contentType (' application/json' )
79
- response :write (result )
82
+ response :write (json . encode ( result , { indent = true }) )
80
83
end )
81
84
82
85
r :post (' /post' , function (request , response , params )
83
- local headers = request :headers ()
84
- local params = request :params ()
85
- local path = request :path ()
86
- local ip = request .ip
86
+ local result = buildResponse (request )
87
87
88
88
local body , status = recvFullBody (request , 15 )
89
89
90
- local name , data , form = decode_form (body )
90
+ local name , data = decode_form (body )
91
91
if name then
92
- form = {[name ] = data }
92
+ result . form = {[name ] = data }
93
93
else
94
- form = decode_params (body )
94
+ result . form = decode_params (body )
95
95
end
96
96
97
- local result = json .encode ({
98
- args = params ;
99
- headers = headers ;
100
- origin = ip ;
101
- form = form ;
102
- url = ' http://127.0.0.1' .. path ;
103
- }, {indent = true })
104
-
105
97
response :statusCode (200 )
106
- response :addHeader (' Connection' , ' close' )
107
98
response :contentType (' application/json' )
108
- response :write (result )
99
+ response :write (json . encode ( result , { indent = true }) )
109
100
end )
110
101
111
102
r :get (' /bytes/:size' , function (request , response , params )
0 commit comments