Retrieval and display of game servers is now working

This commit is contained in:
2026-09-04 18:55:57 -05:00
parent 7524d01347
commit 7f716a57ca
6 changed files with 117 additions and 23 deletions

View File

@@ -110,12 +110,33 @@ module W3DHubLauncher
# ------------ query / request handlers ------------
#
def fetch_url(query)
result = CyberarmEngine::Result.new
method = query.data["method"]
url = query.data["url"]
headers = query.data["headers"] || DEFAULT_HEADERS
body = query.data["body"]
Sync do |task|
task.with_timeout(DEFAULT_NETWORK_TIMEOUT) do
Async::HTTP::Internet.send(method, url, headers, body) do |response|
if response.success?
result.data = response.read
end
# rescue StandardError => e
# result.error = e
end
# rescue Async::TimeoutError
# result.error = e
end
end
deliver_response(result, query)
end
def download_url(query)
result = CyberarmEngine::Result.new
method = query.data["method"]
url = query.data["url"]
path = query.data["path"]
@@ -218,6 +239,22 @@ module W3DHubLauncher
deliver_response(result, query)
end
def servers(query)
hash = {
"method" => "get",
"url" => "https://gsh.w3d.cyberarm.dev/listings/getAll/v2?statusLevel=2",
"headers" => DEFAULT_HEADERS,
"body" => query.data["body"]
}
# inject data into query
query = Request::Query.new(query.type, query.request_id, hash)
response = fetch_url(query)
deliver_response(response.result, query)
end
def install_application(query)
end