Send the play queue ID to the server
The server keeps a play queue per client, identified by the X-Queue-Id header. The client sends the ID it has for the selected server with every request and keeps the one in each response, which is new after a reset or a sync. The IDs are saved per server in the [queues] section of settings.cfg, so the game goes on with the same queue after a restart. HttpTransport now passes the response headers on to the client.
This commit is contained in:
1 parent
d21b3e2ce0
commit
4a45e8516d
8 files changed
+212
-16
No files matched your search
@@ -16,8 +16,9 @@ func _init(owner: Node) -> void:
|
||||
|
||||
|
||||
## Requests [param url] and calls [param on_complete] with
|
||||
## [code](response_code: int, body: PackedByteArray)[/code]. Connection errors and
|
||||
## timeouts are reported with response code 0. [param headers] are sent as-is; a
|
||||
## [code](response_code: int, body: PackedByteArray, headers: PackedStringArray)[/code],
|
||||
## the headers as [code]"Name: value"[/code] lines. Connection errors and timeouts are
|
||||
## reported with response code 0 and no headers. [param headers] are sent as-is; a
|
||||
## [param body] is sent as JSON.
|
||||
func request(
|
||||
url: String,
|
||||
@@ -33,12 +34,14 @@ func request(
|
||||
func(
|
||||
result: int,
|
||||
response_code: int,
|
||||
_headers: PackedStringArray,
|
||||
response_headers: PackedStringArray,
|
||||
response_body: PackedByteArray,
|
||||
) -> void:
|
||||
http_request.queue_free()
|
||||
on_complete.call(response_code if result == HTTPRequest.RESULT_SUCCESS else 0,
|
||||
response_body)
|
||||
if result != HTTPRequest.RESULT_SUCCESS:
|
||||
on_complete.call(0, response_body, PackedStringArray())
|
||||
return
|
||||
on_complete.call(response_code, response_body, response_headers)
|
||||
)
|
||||
var all_headers: PackedStringArray = headers.duplicate()
|
||||
if method == HTTPClient.METHOD_PUT || !body.is_empty():
|
||||
@@ -47,4 +50,4 @@ func request(
|
||||
if error != OK:
|
||||
http_request.queue_free()
|
||||
push_error("Could not send request to %s (error %d)" % [url, error])
|
||||
on_complete.call(0, PackedByteArray())
|
||||
on_complete.call(0, PackedByteArray(), PackedStringArray())
|
||||
Reference in new issue
Block a user