Перейти к содержанию

Описание объекта restClientConfig

Во время установки соединения в ответе 200 OK на метод connect передается JSON объект restClientConfig, который определяет поведение для всех последующих вызовов, связанное с обработкой ошибок, перезаписью параметров и формированием набора передаваемых полей. Если restClientConfig передан не был, используются значения по умолчанию, представленные в таблице ниже.

Parameter Description Default value
clientExclude Список имен параметров, разделенных запятой. Параметры в этом списке не будут переданы на клиента. пусто
restExclude Список имен параметров, разделенных запятой. Параметры в этом списке не будут переданы на бэкенд сервер. пусто
restOnError Реакция на ошибки при обработке REST методов:
LOG - Записать ошибку в лог и продолжить выполнение операции
FAIL - Остановить операцию и вернуть ошибку
LOG
restPolicy Переопределение полей:
OVERWRITE - Поля, перечисленные в restOverwrite, будут перезаписаны ответом бэкенд сервера
NOTIFY - Поля не будт перезаписаны ответом бэкенд сервера
DISABLE - Поля не будут отправлены на бэкенд сервер
NOTIFY
restOverwrite Список полей, разделенный запятыми. Поля из этого списка будут перезаписаны, если restPolicy установлена в OVERWRITE пусто

Пример объекта restClientConfig. В этом примере в объекте представлен только метод ConnectionStatusEvent. Aналогичным образом могут быть описаны другие методы. Если метод не описан, используются значения по умолчанию.

"restClientConfig":
{
    "ConnectionStatusEvent":
    {
        "restExclude":"",
        "clientExclude":"",
        "restOnError":"LOG",
        "restPolicy":"NOTIFY",
        "restOverwrite":""
    }
}

Интерпретация примера:

  • Для метода ConnectionStatusEvent определены следующие настройки: restExclude, clientExclude, restOnError, restPolicy, restOverwrite.
  • При вызове этого метода, на бэкенд сервер будут доставлены все поля, т.к. restExclude: "".
  • При вызове этого метода, на клиента так же будут доставлены все поля, т.к. clientExclude: "".
  • В случае ошибок при обращении к бэкенд серверу, эти ошибки будут логироваться, но не будут переданы на клиента. При этом на клиента придет нормальное событие ConnectionStatusEvent.
  • Даже если бэкенд сервер вернет новые параметры, они не будут перезаписаны, т.к. restPolicy: "NOTIFY".
  • Поле restOverwrite здесь не работает, т.к. перезапись отключена в restPolicy.

Аналогично restClientConfig может описывать конфигурацию для других вызовов, таких как: call, OnCallEvent, CallStatusEvent, sendMessage, OnMessageEvent, MessageStatusEvent и т.д.