add GURT URL support for images
This commit is contained in:
@@ -1,14 +1,29 @@
|
||||
extends Node
|
||||
|
||||
func fetch_image(url: String) -> ImageTexture:
|
||||
var http_request = HTTPRequest.new()
|
||||
add_child(http_request)
|
||||
|
||||
if url.is_empty():
|
||||
return null
|
||||
|
||||
var network_request = NetworkManager.start_request(url, "GET", false)
|
||||
|
||||
var body: PackedByteArray
|
||||
var response_code: int
|
||||
var headers: PackedStringArray
|
||||
var response_headers = {}
|
||||
|
||||
if url.begins_with("gurt://"):
|
||||
var gurt_body = await fetch_gurt_resource(url, true)
|
||||
if gurt_body.is_empty():
|
||||
return null
|
||||
|
||||
body = gurt_body
|
||||
response_code = 200
|
||||
headers = PackedStringArray()
|
||||
else:
|
||||
# Handle HTTP/HTTPS URLs
|
||||
var http_request = HTTPRequest.new()
|
||||
add_child(http_request)
|
||||
|
||||
var request_headers = PackedStringArray()
|
||||
request_headers.append("User-Agent: " + UserAgent.get_user_agent())
|
||||
|
||||
@@ -26,13 +41,12 @@ func fetch_image(url: String) -> ImageTexture:
|
||||
var response = await http_request.request_completed
|
||||
|
||||
var result = response[0] # HTTPClient.Result
|
||||
var response_code = response[1] # int
|
||||
var headers = response[2] # PackedStringArray
|
||||
var body = response[3] # PackedByteArray
|
||||
response_code = response[1] # int
|
||||
headers = response[2] # PackedStringArray
|
||||
body = response[3] # PackedByteArray
|
||||
|
||||
http_request.queue_free()
|
||||
|
||||
var response_headers = {}
|
||||
for header in headers:
|
||||
var parts = header.split(":", 1)
|
||||
if parts.size() == 2:
|
||||
|
||||
Reference in New Issue
Block a user