<?xml version="1.0" encoding="UTF-8" ?> <class name="HTTPRequest" inherits="Node" category="Core" version="3.2"> <brief_description> A node with the ability to send HTTP requests. </brief_description> <description> 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. </description> <tutorials> <link>https://docs.godotengine.org/en/latest/tutorials/networking/ssl_certificates.html</link> </tutorials> <methods> <method name="cancel_request"> <return type="void"> </return> <description> Cancels the current request. </description> </method> <method name="get_body_size" qualifiers="const"> <return type="int"> </return> <description> Returns the response body length. </description> </method> <method name="get_downloaded_bytes" qualifiers="const"> <return type="int"> </return> <description> Returns the amount of bytes this HTTPRequest downloaded. </description> </method> <method name="get_http_client_status" qualifiers="const"> <return type="int" enum="HTTPClient.Status"> </return> <description> Returns the current status of the underlying [HTTPClient]. See [code]STATUS_*[/code] enum on [HTTPClient]. </description> </method> <method name="request"> <return type="int" enum="Error"> </return> <argument index="0" name="url" type="String"> </argument> <argument index="1" name="custom_headers" type="PoolStringArray" default="PoolStringArray( )"> </argument> <argument index="2" name="ssl_validate_domain" type="bool" default="true"> </argument> <argument index="3" name="method" type="int" enum="HTTPClient.Method" default="0"> </argument> <argument index="4" name="request_data" type="String" default=""""> </argument> <description> Creates request on the underlying [HTTPClient]. If there is no configuration errors, it tries to connect using [method HTTPClient.connect_to_host] and passes parameters onto [method HTTPClient.request]. Returns [code]OK[/code] if request is successfully created. (Does not imply that the server has responded), [code]ERR_UNCONFIGURED[/code] if not in the tree, [code]ERR_BUSY[/code] if still processing previous request, [code]ERR_INVALID_PARAMETER[/code] if given string is not a valid URL format, or [code]ERR_CANT_CONNECT[/code] if not using thread and the [HTTPClient] cannot connect to host. </description> </method> </methods> <members> <member name="body_size_limit" type="int" setter="set_body_size_limit" getter="get_body_size_limit"> Maximum allowed size for response bodies. </member> <member name="download_file" type="String" setter="set_download_file" getter="get_download_file"> The file to download into. Will output any received file into it. </member> <member name="max_redirects" type="int" setter="set_max_redirects" getter="get_max_redirects"> Maximum number of allowed redirects. </member> <member name="use_threads" type="bool" setter="set_use_threads" getter="is_using_threads"> If [code]true[/code], multithreading is used to improve performance. </member> </members> <signals> <signal name="request_completed"> <argument index="0" name="result" type="int"> </argument> <argument index="1" name="response_code" type="int"> </argument> <argument index="2" name="headers" type="PoolStringArray"> </argument> <argument index="3" name="body" type="PoolByteArray"> </argument> <description> This signal is emitted upon request completion. </description> </signal> </signals> <constants> <constant name="RESULT_SUCCESS" value="0" enum="Result"> Request successful. </constant> <constant name="RESULT_CHUNKED_BODY_SIZE_MISMATCH" value="1" enum="Result"> </constant> <constant name="RESULT_CANT_CONNECT" value="2" enum="Result"> Request failed while connecting. </constant> <constant name="RESULT_CANT_RESOLVE" value="3" enum="Result"> Request failed while resolving. </constant> <constant name="RESULT_CONNECTION_ERROR" value="4" enum="Result"> Request failed due to connection (read/write) error. </constant> <constant name="RESULT_SSL_HANDSHAKE_ERROR" value="5" enum="Result"> Request failed on SSL handshake. </constant> <constant name="RESULT_NO_RESPONSE" value="6" enum="Result"> Request does not have a response (yet). </constant> <constant name="RESULT_BODY_SIZE_LIMIT_EXCEEDED" value="7" enum="Result"> Request exceeded its maximum size limit, see [member body_size_limit]. </constant> <constant name="RESULT_REQUEST_FAILED" value="8" enum="Result"> Request failed. (Unused) </constant> <constant name="RESULT_DOWNLOAD_FILE_CANT_OPEN" value="9" enum="Result"> HTTPRequest couldn't open the download file. </constant> <constant name="RESULT_DOWNLOAD_FILE_WRITE_ERROR" value="10" enum="Result"> HTTPRequest couldn't write to the download file. </constant> <constant name="RESULT_REDIRECT_LIMIT_REACHED" value="11" enum="Result"> Request reached its maximum redirect limit, see [member max_redirects]. </constant> </constants> </class>