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

43 lines
2.3 KiB
GDScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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