diff options
author | Elias Fleckenstein <eliasfleckenstein@web.de> | 2021-03-10 09:38:27 +0100 |
---|---|---|
committer | Elias Fleckenstein <eliasfleckenstein@web.de> | 2021-03-10 09:38:27 +0100 |
commit | bc79c2344e226bdf833382b5ce51c47ddd536bf2 (patch) | |
tree | 8a6eec4b51929f89e216a1cbf88b4a19bec3e72d /builtin/client | |
parent | d3780cefd10472a57425cf5e0ab4cf4b816401be (diff) | |
download | dragonfireclient-bc79c2344e226bdf833382b5ce51c47ddd536bf2.tar.xz |
CSM: Use server-like (and safe) HTTP API instead of Mainmenu-like
Diffstat (limited to 'builtin/client')
-rw-r--r-- | builtin/client/util.lua | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/builtin/client/util.lua b/builtin/client/util.lua index aea15e00f..440f99ebc 100644 --- a/builtin/client/util.lua +++ b/builtin/client/util.lua @@ -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 |