Added Glitch Room Source code to Gitty
This commit is contained in:
commit
1ac9eb5644
505 files changed
+28504
No files matched your search
@@ -0,0 +1,28 @@
|
||||
extends Node
|
||||
## Transport boundary: gameplay and operator code only exchange command/state dictionaries.
|
||||
var url := "http://127.0.0.1:8766"
|
||||
var token := ""
|
||||
|
||||
func configure(role: String) -> void:
|
||||
var config := ConfigFile.new()
|
||||
config.load("user://arcade_network.cfg")
|
||||
url = str(config.get_value("network", "url", url)).trim_suffix("/")
|
||||
token = str(config.get_value("network", role + "_token", ""))
|
||||
if OS.has_environment("ARCADE_ROOM_URL"): url = OS.get_environment("ARCADE_ROOM_URL").trim_suffix("/")
|
||||
var name := "ARCADE_%s_TOKEN" % role.to_upper()
|
||||
if OS.has_environment(name): token = OS.get_environment(name)
|
||||
|
||||
func post(path: String, payload: Dictionary = {}) -> Dictionary:
|
||||
if token.is_empty(): return {"error": "Room connection token is not configured"}
|
||||
var request := HTTPRequest.new()
|
||||
request.timeout = 2.0
|
||||
add_child(request)
|
||||
var error := request.request(url + path, ["Content-Type: application/json", "Authorization: Bearer " + token], HTTPClient.METHOD_POST, JSON.stringify(payload))
|
||||
var result: Dictionary = {"error": "Room controller is unreachable"}
|
||||
if error == OK:
|
||||
var response: Array = await request.request_completed
|
||||
var body = JSON.parse_string(response[3].get_string_from_utf8())
|
||||
if response[0] == HTTPRequest.RESULT_SUCCESS and body is Dictionary:
|
||||
result = body
|
||||
request.queue_free()
|
||||
return result
|
||||
Reference in new issue
Block a user