in lib/shenyu/register/eureka.lua [35:74]
function _M:get_server_list()
local httpc = http:new()
local res, err = httpc:request_uri(_M.base_url, {
method = "GET",
path = _M.path,
headers = {["Accept"]="application/json"},
})
if not res then
log(ERR, "failed to get server list from eureka. ", err)
end
local service = {}
if res.status == 200 then
local list_inst_resp = json.decode(res.body)
local application = list_inst_resp.application
for k, v in ipairs(application) do
local instances = v["instance"]
for i, instance in pairs(instances) do
local status = instance["status"]
if status == "UP" then
local ipAddr = instance["ipAddr"]
local port = instance["port"]["$"]
log(INFO, "ipAddr: ", ipAddr)
log(INFO, "port: ", port)
service[i] = {ip=ipAddr, port=port}
end
end
end
end
_M.storage:set("demo", json.encode(service))
end