aboutsummaryrefslogtreecommitdiff
path: root/builtin/client
diff options
context:
space:
mode:
authorElias Fleckenstein <eliasfleckenstein@web.de>2021-03-10 09:38:27 +0100
committerElias Fleckenstein <eliasfleckenstein@web.de>2021-03-10 09:38:27 +0100
commitbc79c2344e226bdf833382b5ce51c47ddd536bf2 (patch)
tree8a6eec4b51929f89e216a1cbf88b4a19bec3e72d /builtin/client
parentd3780cefd10472a57425cf5e0ab4cf4b816401be (diff)
downloaddragonfireclient-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.lua20
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