summaryrefslogtreecommitdiff
path: root/Game/Lobby/game_lobby.gd
diff options
context:
space:
mode:
Diffstat (limited to 'Game/Lobby/game_lobby.gd')
-rw-r--r--Game/Lobby/game_lobby.gd89
1 files changed, 0 insertions, 89 deletions
diff --git a/Game/Lobby/game_lobby.gd b/Game/Lobby/game_lobby.gd
deleted file mode 100644
index 6bfa8be..0000000
--- a/Game/Lobby/game_lobby.gd
+++ /dev/null
@@ -1,89 +0,0 @@
-extends Node
-
-
-class HTTPRequestConfig extends Resource:
- var headers: PackedStringArray
- var method: HTTPClient.Method
- var data: Dictionary
- var node: HTTPRequest
-
- @warning_ignore("shadowed_variable")
- func _init(
- headers := PackedStringArray(),
- method := HTTPClient.METHOD_GET,
- data := {},
- node := HTTPRequest.new()
- ) -> void:
- self.headers = headers
- self.method = method
- self.data = data
- self.node = node
-
-
-class HTTPResponse extends Resource:
- var result_code: HTTPRequest.Result
- var response_code: int
- var headers: PackedStringArray
- var body: PackedByteArray
-
- func parse_json() -> Dictionary:
- return JSON.parse_string(body.get_string_from_utf8())
-
-
-var server_base_url: String = Client.get_config().get_value("general", "game_lobby_server_base_url")
-var current_game_id: String
-var current_secret: String
-
-
-func request(
- url: String,
- config: HTTPRequestConfig = HTTPRequestConfig.new()
-) -> HTTPResponse:
- get_tree().root.add_child(config.node)
-
- if config.method == HTTPClient.METHOD_POST:
- config.set("id", current_game_id)
- config.set("secret", current_secret)
-
- var response = HTTPResponse.new()
- config.node.request_completed.connect(
- func (
- result_code: int,
- response_code: int,
- headers: PackedStringArray,
- body: PackedByteArray
- ):
- response.result_code = result_code
- response.response_code = response_code
- response.headers = headers
- response.body = body
-
- get_tree().root.remove_child(config.node)
- )
- config.node.request(
- "%s%s" % [server_base_url, url],
- config.headers,
- config.method,
- JSON.stringify(config.data)
- )
-
- await config.node.request_completed
- return response
-
-
-func request_get(url: String, headers := PackedStringArray()):
- var config := HTTPRequestConfig.new(headers)
-
- return await request(url, config)
-
-
-func request_post(url: String, data: Dictionary = {}, headers := PackedStringArray()):
- var config := HTTPRequestConfig.new(headers, HTTPClient.METHOD_POST, data)
-
- return await request(url, config)
-
-
-func check_available() -> bool:
- var response = await GameLobby.request_get("")
-
- return response.result_code == HTTPRequest.RESULT_SUCCESS