Во время установки соединения в ответе 200 OK на метод 'connect' передается JSON объект restClientConfig, который определяет поведение для всех последующих вызовов, связанное с обработкой ошибок, перезаписью параметров и формированием набора передаваемых полей. Если restClientConfig передан не был, используются значения по умолчанию, представленные в таблице ниже.
Название | Описание | По умолчанию |
---|---|---|
clientExclude | Список имен параметров, разделенных запятой. Параметры в этом списке не будут переданы на клиента. | пустое |
restExclude | Список имен параметров, разделенных запятой. Параметры в этом списке не будут переданы на web-сервер. | пустое |
restOnError | LOG, FAIL Подробное описание см. в разделе Типы методов. | LOG |
restPolicy | OVERWRITE, NOTIFY, DISABLED OVERWRITE - Поля, перечисленные в поле restOverwrite будут перезаписаны ответом web-сервера. NOTIFY - Отправка на web-сервер запроса так же состоится, но никакие поля перезаписаны не будут. DISABLED - Web-сервер вызываться не будет и будут использоваться те данные, которые были переданы с клиента. | NOTIFY |
restOverwrite | Список полей, разделенный запятыми. Поля из этого списка будут перезаписаны, если включена restPolicy:'OVERWRITE'. | пустое |
Пример конфига restClientConfig. В этом примере в конфиге представлен только метод 'ConnectionStatusEvent'. Aналогичным образом в конфиге могут быть описаны другие методы. Если метод не описан, используются значения по умолчанию.
"restClientConfig": { "ConnectionStatusEvent": { "restExclude":"", "clientExclude":"", "restOnError":"LOG", "restPolicy":"NOTIFY", "restOverwrite":"" } }
Интерпретация примера:
- Для метода ConnectionStatusEvent определены следующие настройки: restExclude, clientExclude, restOnError, restPolicy, restOverwrite.
- При вызове этого метода, на Web-сервер будут доставлены все поля, т.к. restExclude="".
- При вызове этого метода, на клиента так же будут доставлены все поля, т.к. clientExclude="".
- В случае ошибок при обращении к web-серверу, эти ошибки будут логгироваться, но не будут переданы на клиента. При этом на клиента придет нормальное событие ConnectionStatusEvent.
- Даже если web-сервер вернет новые параметры, они не будут перезаписаны, т.к. restPolicy:"NOTIFY".
- Поле restOverwrite здесь не работает, т.к. перезапись отключена в restPolicy.
Аналогично restClientConfig может описывать конфигурацию для других вызовов, таких как: call, OnCallEvent, CallStatusEvent, sendMessage, OnMessageEvent, MessageStatusEvent, и т.д.