Files
uarep-ctl/scenes/pribor-rtr/request-rtr.gd

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