浏览代码

Add an HTTPRequest usage example to the class reference

This also adds a link to the "Making HTTP requests" tutorial.
Hugo Locurcio 5 年之前
父节点
当前提交
06fc43d41c
共有 1 个文件被更改,包括 31 次插入1 次删除
  1. 31 1
      doc/classes/HTTPRequest.xml

+ 31 - 1
doc/classes/HTTPRequest.xml

@@ -1,13 +1,43 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <?xml version="1.0" encoding="UTF-8" ?>
 <class name="HTTPRequest" inherits="Node" category="Core" version="3.2">
 <class name="HTTPRequest" inherits="Node" category="Core" version="3.2">
 	<brief_description>
 	<brief_description>
-		A node with the ability to send HTTP requests.
+		A node with the ability to send HTTP(S) requests.
 	</brief_description>
 	</brief_description>
 	<description>
 	<description>
 		A node with the ability to send HTTP requests. Uses [HTTPClient] internally.
 		A node with the ability to send HTTP requests. Uses [HTTPClient] internally.
 		Can be used to make HTTP requests, i.e. download or upload files or web content via HTTP.
 		Can be used to make HTTP requests, i.e. download or upload files or web content via HTTP.
+		[b]Example of loading and displaying an image using HTTPRequest:[/b]
+		[codeblock]
+		func _ready():
+		    # Create an HTTP request node and connect its completion signal.
+		    var http_request = HTTPRequest.new()
+		    add_child(http_request)
+		    http_request.connect("request_completed", self, "_http_request_completed")
+
+		    # Perform the HTTP request. The URL below returns a PNG image as of writing.
+		    var error = http_request.request("https://via.placeholder.com/512")
+		    if error != OK:
+		        push_error("An error occurred in the HTTP request.")
+
+
+		# Called when the HTTP request is completed.
+		func _http_request_completed(result, response_code, headers, body):
+		    var image = Image.new()
+		    var error = image.load_png_from_buffer(body)
+		    if error != OK:
+		        push_error("Couldn't load the image.")
+
+		    var texture = ImageTexture.new()
+		    texture.create_from_image(image)
+
+		    # Display the image in a TextureRect node.
+		    var texture_rect = TextureRect.new()
+		    add_child(texture_rect)
+		    texture_rect.texture = texture
+		[/codeblock]
 	</description>
 	</description>
 	<tutorials>
 	<tutorials>
+		<link>https://docs.godotengine.org/en/latest/tutorials/networking/http_request_class.html</link>
 		<link>https://docs.godotengine.org/en/latest/tutorials/networking/ssl_certificates.html</link>
 		<link>https://docs.godotengine.org/en/latest/tutorials/networking/ssl_certificates.html</link>
 	</tutorials>
 	</tutorials>
 	<methods>
 	<methods>