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

Class: SSETransport

Клиентский HTTP(S) + SSE двунаправленный транспорт

Используется для общения с Spatium Signer Service. Как только создан, он сразу же пытается подключиться к предоставленному url и начинает слушать входящие сообщения

См. так же

TransportDriver

Иерархия

  • SimpleTransportDriver

SSETransport

Имплементирует

Конструкторы

constructor

new SSETransport(url, auth)

Заметьте

запросы относятся к accountId сессии авторизации, тем самым данные сохраняются независимо для каждого авторизованного пользователя

Пример

const auth = new AuthorizationSession('https://cloud.spatium.net/authorization/v1', uuid(randomBytes), ['read', 'secret']);
const transport = new SSETransport('https://cloud.spatium.net/signer/v1', auth);

// Поключаемся к SignerService
await transport.connect();

// Считаем, что серверная сторона слушает и присылает одинаковые сообщения

// Слушаем комнату 323-123-45
const subscription = transport.on({ room: '323-123-45' }, ({ topic }, data) => {
  expect(topic).toBe('hello');
  expect(data).toStrictEqual({ woo: 'hoo' });
});

// Присылаем сообщение в комнату 323-123-45
await transport.send({ room: '323-123-45', topic: 'hello' }, { woo: 'hoo' });

// Прекращаем слушать комнату
transport.off(subscription);

//Отключаемся от SignerService
await transport.disconnect();

Параметры

Имя Тип Описание
url string signer service эндпоинт (HTTP(S))
auth AuthorizationSession сессия авторизации AuthorizationSession

Overrides

SimpleTransportDriver.constructor

Методы

connect

connect(timeout?): Promise<void>

Подключение и прослушивание событий

Параметры

Имя Тип
timeout? number

Возвращает

Promise<void>


disconnect

disconnect(): Promise<void>

Прекращение прослушивания сообщений и отключение Stop listening for messages and disconnect

Возвращает

Promise<void>


send

send(meta, data): Promise<void>

Параметры

Имя Тип
meta TransportMeta
data unknown

Возвращает

Promise<void>

Имплементация

TransportDriver.send