Vanilla的Control返回必须是String类型
这是今天社区里的一位朋友遇到的问题, Control最后return回去的数据是一个table类型,而不是一个字符串,这时候Vanilla报错了。
社区里朋友的代码,如下:
function ResController:fetchData()
local hc = http:new()
local resp, err = hc:request_uri("http://xxx.xxx.x.xx", {
metod = "GET"
path = "/sec/res/find?pid="..id,
headers = {
["User-Agent"] = "Mozilla/5.0..."
}
})
if not resp then
return "request error :"..err
end
return resp.body
end
在看一下Vanilla的代码是如何处理这个逻辑的:
vanilla的代码:
function Response:response()
local body = {[1]=self.append_body, [2]=self.body, [3]=self.prepend_body}
ngx.print(table.concat( body, ""))
return true
end