42 lines
1.8 KiB
GDScript
42 lines
1.8 KiB
GDScript
extends HTTPRequest
|
|
|
|
|
|
const RESULT_STRINGS = {
|
|
RESULT_SUCCESS: 'Request successful',
|
|
RESULT_CHUNKED_BODY_SIZE_MISMATCH: 'Chunked body size mismatch',
|
|
RESULT_CANT_CONNECT: 'Request failed while connecting',
|
|
RESULT_CANT_RESOLVE: 'Request failed while resolving',
|
|
RESULT_CONNECTION_ERROR: 'Request failed due to connection (read/write) error',
|
|
RESULT_TLS_HANDSHAKE_ERROR: 'Request failed on TLS handshake',
|
|
RESULT_NO_RESPONSE: 'Request does not have a response (yet)',
|
|
RESULT_BODY_SIZE_LIMIT_EXCEEDED: 'Request exceeded its maximum size limit, see body_size_limit',
|
|
RESULT_BODY_DECOMPRESS_FAILED: 'Body decompress failed',
|
|
RESULT_REQUEST_FAILED: 'Request failed (currently unused)',
|
|
RESULT_DOWNLOAD_FILE_CANT_OPEN: 'HTTPRequest couldn\'t open the download file',
|
|
RESULT_DOWNLOAD_FILE_WRITE_ERROR: 'HTTPRequest couldn\'t write to the download file',
|
|
RESULT_REDIRECT_LIMIT_REACHED: 'Request reached its maximum redirect limit, see max_redirects',
|
|
RESULT_TIMEOUT: 'Timeout' }
|
|
|
|
|
|
var i_bort: int = 0
|
|
var addr_left: String
|
|
var addr_right: String
|
|
|
|
|
|
func get_result_string(result: Result):
|
|
return RESULT_STRINGS[result] if RESULT_STRINGS.has(result) else '<неизвестный код результата HTTPRequest - %d>' % result
|
|
|
|
|
|
func _ready():
|
|
addr_left = ProjectSettings.get_setting('application/config/unit_rr_left_bort')
|
|
addr_right = ProjectSettings.get_setting('application/config/unit_rr_right_bort')
|
|
|
|
|
|
func _on_request_timer():
|
|
var addr = [addr_left, addr_right][i_bort]
|
|
var rc = request(addr)
|
|
if rc != Error.OK:
|
|
var s: String = '%s: %s' % [error_string(rc), addr]
|
|
log.error('ошибка: %s' % s)
|
|
i_bort = (i_bort + 1) % 2
|