@@ -57,55 +57,46 @@ local function recvFullBody(request, T1)
5757 return table.concat (body ), status
5858end
5959
60- r : get ( ' /get ' , function (request , response )
60+ local function buildResponse (request )
6161 local headers = request :headers ()
6262 local params = request :params ()
6363 local path = request :path ()
6464 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 )
6567
66- local body , status = recvFullBody (request , 15 )
67-
68- local result = json .encode ({
68+ return {
6969 args = params ;
7070 headers = headers ;
7171 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 )
7579
7680 response :statusCode (200 )
77- response :addHeader (' Connection' , ' close' )
7881 response :contentType (' application/json' )
79- response :write (result )
82+ response :write (json . encode ( result , { indent = true }) )
8083end )
8184
8285r :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 )
8787
8888 local body , status = recvFullBody (request , 15 )
8989
90- local name , data , form = decode_form (body )
90+ local name , data = decode_form (body )
9191 if name then
92- form = {[name ] = data }
92+ result . form = {[name ] = data }
9393 else
94- form = decode_params (body )
94+ result . form = decode_params (body )
9595 end
9696
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-
10597 response :statusCode (200 )
106- response :addHeader (' Connection' , ' close' )
10798 response :contentType (' application/json' )
108- response :write (result )
99+ response :write (json . encode ( result , { indent = true }) )
109100end )
110101
111102r :get (' /bytes/:size' , function (request , response , params )
0 commit comments