Class: SSETransport
Клиентский HTTP(S) + SSE двунаправленный транспорт
Используется для общения с Spatium Signer Service. Как только создан, он сразу же пытается подключиться к предоставленному url и начинает слушать входящие сообщения
См. так же
Иерархия
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
>
Прекращение прослушивания сообщений и отключение
Возвращает
Promise
<void
>
send
▸ send(meta
, data
): Promise
<void
>
Параметры
Имя | Тип |
---|---|
meta |
TransportMeta |
data |
unknown |
Возвращает
Promise
<void
>