CSM: Use server-like (and safe) HTTP API instead of Mainmenu-like
This commit is contained in:
parent
d3780cefd1
commit
bc79c2344e
@ -58,3 +58,23 @@ end
|
||||
function core.get_nearby_objects(radius)
|
||||
return core.get_objects_inside_radius(core.localplayer:get_pos(), radius)
|
||||
end
|
||||
|
||||
-- HTTP callback interface
|
||||
|
||||
function core.http_add_fetch(httpenv)
|
||||
httpenv.fetch = function(req, callback)
|
||||
local handle = httpenv.fetch_async(req)
|
||||
|
||||
local function update_http_status()
|
||||
local res = httpenv.fetch_async_get(handle)
|
||||
if res.completed then
|
||||
callback(res)
|
||||
else
|
||||
core.after(0, update_http_status)
|
||||
end
|
||||
end
|
||||
core.after(0, update_http_status)
|
||||
end
|
||||
|
||||
return httpenv
|
||||
end
|
||||
|
@ -239,8 +239,18 @@ int ModApiHttp::l_get_http_api(lua_State *L)
|
||||
void ModApiHttp::Initialize(lua_State *L, int top)
|
||||
{
|
||||
#if USE_CURL
|
||||
API_FCT(get_http_api);
|
||||
API_FCT(request_http_api);
|
||||
|
||||
bool isMainmenu = false;
|
||||
#ifndef SERVER
|
||||
isMainmenu = ModApiBase::getGuiEngine(L) != nullptr;
|
||||
#endif
|
||||
|
||||
if (isMainmenu) {
|
||||
API_FCT(get_http_api);
|
||||
} else {
|
||||
API_FCT(request_http_api);
|
||||
}
|
||||
|
||||
#endif
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user