Initial Commit
Initial commit of Code Base.
This commit is contained in:
parent
293b1213e1
commit
c11a4ebbc2
653 changed files with 36893 additions and 1 deletions
58
addons/twitcher/lib/http/debug_buffered_http_client.gd
Normal file
58
addons/twitcher/lib/http/debug_buffered_http_client.gd
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
extends Control
|
||||
|
||||
@onready var clients: Tree = %Clients
|
||||
|
||||
## Key: BufferedHTTPClient | value: TreeItem
|
||||
var client_map : Dictionary[BufferedHTTPClient, TreeItem] = {}
|
||||
## Key: RequestData | value: TreeItem
|
||||
var request_map : Dictionary[BufferedHTTPClient.RequestData, TreeItem] = {}
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
get_tree().root.child_entered_tree.connect(_on_child_enter)
|
||||
_add_http_clients(get_tree().root)
|
||||
|
||||
|
||||
func _add_http_clients(parent: Node) -> void:
|
||||
for child in parent.get_children():
|
||||
_on_child_enter(child)
|
||||
_add_http_clients(child)
|
||||
|
||||
|
||||
func _on_child_enter(node: Node) -> void:
|
||||
if node is BufferedHTTPClient:
|
||||
_new_client(node)
|
||||
|
||||
|
||||
func _new_client(client: BufferedHTTPClient):
|
||||
var parent = clients.create_item()
|
||||
parent.set_text(0, client.name)
|
||||
|
||||
client_map[client] = parent
|
||||
|
||||
client.request_added.connect(_on_add_request.bind(parent))
|
||||
client.request_done.connect(_on_done_request)
|
||||
for request in client.requests:
|
||||
_on_add_request(request, parent)
|
||||
|
||||
|
||||
func _on_add_request(request: BufferedHTTPClient.RequestData, http_item: TreeItem):
|
||||
var request_item = clients.create_item(http_item)
|
||||
request_item.set_text(0, request.path)
|
||||
request_item.set_text(1, "Queued")
|
||||
request_map[request] = request_item
|
||||
|
||||
|
||||
func _on_done_request(response: BufferedHTTPClient.ResponseData):
|
||||
var request_item = request_map[response.request_data] as TreeItem
|
||||
request_item.set_text(1, "DONE")
|
||||
await get_tree().create_timer(60, true, false, true).timeout
|
||||
if request_item != null: request_item.free()
|
||||
|
||||
|
||||
func _close_client(client: BufferedHTTPClient):
|
||||
var http_item = client_map[client] as TreeItem
|
||||
client_map.erase(client)
|
||||
http_item.set_text(1, "CLOSED")
|
||||
await get_tree().create_timer(60, true, false, true).timeout
|
||||
http_item.free()
|
||||
Loading…
Add table
Add a link
Reference in a new issue