HTTPRequest

Inherits: Node < Object

Category: Core

Brief Description

A Node with the ability to send HTTP requests.

Member Functions

void cancel_request ( )
int get_body_size ( ) const
int get_body_size_limit ( ) const
String get_download_file ( ) const
int get_downloaded_bytes ( ) const
int get_http_client_status ( ) const
int get_max_redirects ( ) const
bool is_using_threads ( ) const
int request ( String url, StringArray custom_headers=StringArray([]), bool ssl_validate_domain=true, int method=0, String request_data=”” )
void set_body_size_limit ( int bytes )
void set_download_file ( String path )
void set_max_redirects ( int amount )
void set_use_threads ( bool enable )

Signals

  • request_completed ( int result, int response_code, StringArray headers, RawArray body )

This signal is emitted upon request completion.

Numeric Constants

  • RESULT_SUCCESS = 0 — Request successful.
  • RESULT_CHUNKED_BODY_SIZE_MISMATCH = 1
  • RESULT_CANT_CONNECT = 2 — Request failed while connecting.
  • RESULT_CANT_RESOLVE = 3 — Request failed while resolving.
  • RESULT_CONNECTION_ERROR = 4 — Request failed due to connection(read/write) error.
  • RESULT_SSL_HANDSHAKE_ERROR = 5 — Request failed on SSL handshake.
  • RESULT_NO_RESPONSE = 6 — Request does not have a response(yet).
  • RESULT_BODY_SIZE_LIMIT_EXCEEDED = 7 — Request exceded its maximum size limit, see set_body_size_limit.
  • RESULT_REQUEST_FAILED = 8 — Request failed. (unused)
  • RESULT_DOWNLOAD_FILE_CANT_OPEN = 9 — HTTPRequest couldn’t open the download file.
  • RESULT_DOWNLOAD_FILE_WRITE_ERROR = 10 — HTTPRequest couldn’t write to the download file.
  • RESULT_REDIRECT_LIMIT_REACHED = 11 — Request reached its maximum redirect limit, see set_max_redirects.

Description

A Node with the ability to send HTTP requests. Uses a HTTPClient internally, supports HTTPS.

Can be used to make HTTP requests or download files via HTTP.

Member Function Description

  • void cancel_request ( )

Cancel the current request.

  • int get_body_size ( ) const

Return the response body length.

  • int get_body_size_limit ( ) const

Return current body size limit.

  • String get_download_file ( ) const

Return the file this request will download into.

  • int get_downloaded_bytes ( ) const

Return the amount of bytes this HTTPRequest downloaded.

  • int get_http_client_status ( ) const

Return the current status of the underlying HTTPClient.

  • int get_max_redirects ( ) const

Return the maximum amount of redirects that will be followed.

  • bool is_using_threads ( ) const

Whether this request is using threads.

  • int request ( String url, StringArray custom_headers=StringArray([]), bool ssl_validate_domain=true, int method=0, String request_data=”” )

Make a HTTP request (by default GET, unless specified otherwise as method). The url is the complete url including “http://” or “https://” which will be parsed for a host and a port.

The custom_headers are HTTP request headers which will be used. If User-Agent is not specified a Godot specific will be used.

The ssl_validate_domain specifies if in case of HTTPS the server certificate should be verified.

  • void set_body_size_limit ( int bytes )

Set the response body size limit.

  • void set_download_file ( String path )

Set the file to download into. Outputs the response body into the file.

  • void set_max_redirects ( int amount )

Set the maximum amount of redirects the request will follow.

  • void set_use_threads ( bool enable )

Make this HTTPRequest use threads.