43 lines
2.3 KiB
GDScript
43 lines
2.3 KiB
GDScript
extends HTTPRequest
|
||
|
||
## Для приборов АФСП и РТР
|
||
|
||
const RESULT_STRINGS = {
|
||
RESULT_SUCCESS: 'Запрос успешен',
|
||
RESULT_CHUNKED_BODY_SIZE_MISMATCH: 'Несоответствие размеров частей сообщения',
|
||
RESULT_CANT_CONNECT: 'Запрос не выполнен при подключении',
|
||
RESULT_CANT_RESOLVE: 'Запрос не выполнен при разрешении',
|
||
RESULT_CONNECTION_ERROR: 'Запрос не выполнен из-за ошибки соединения (чтения/записи)',
|
||
RESULT_TLS_HANDSHAKE_ERROR: 'Запрос не выполнен на TLS рукопожатии',
|
||
RESULT_NO_RESPONSE: 'Запрос не имеет ответа (пока)',
|
||
RESULT_BODY_SIZE_LIMIT_EXCEEDED: 'Запрос превысил максимальный размер, см. `body_size_limit`',
|
||
RESULT_BODY_DECOMPRESS_FAILED: 'Не удалось распаковать сообщение',
|
||
RESULT_REQUEST_FAILED: 'Запрос не удался (в настоящее время не используется)',
|
||
RESULT_DOWNLOAD_FILE_CANT_OPEN: 'Невозможно открыть файл загрузки',
|
||
RESULT_DOWNLOAD_FILE_WRITE_ERROR: 'Невозможно записать в файл загрузки',
|
||
RESULT_REDIRECT_LIMIT_REACHED: 'Запрос достиг максимального предела перенаправления, см. `max_redirects`',
|
||
RESULT_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_afsp_left_bort')
|
||
addr_right = ProjectSettings.get_setting('application/config/unit_afsp_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
|