Spec-Zone.ru › Deno 1

Deno.upgradeWebSocket

Используется для обновления входящего HTTP-запроса до WebSocket.

Принимая запрос, возвращает пару WebSocket и Response. Для успешного обновления websocket необходимо ответить на исходный запрос с помощью возвращённого ответа.

const conn = Deno.listen({ port: 80 });
const httpConn = Deno.serveHttp(await conn.accept());
const e = await httpConn.nextRequest();
if (e) {
  const { socket, response } = Deno.upgradeWebSocket(e.request);
  socket.onopen = () => {
    socket.send("Hello World!");
  };
  socket.onmessage = (e) => {
    console.log(e.data);
    socket.close();
  };
  socket.onclose = () => console.log("WebSocket has been closed.");
  socket.onerror = (e) => console.error("WebSocket error:", e);
  e.respondWith(response);
}

Если тело запроса изменяется (читается) до завершения обновления, обновление завершается неудачно.

Данная операция пока не потребляет запрос или не открывает websocket. Это происходит только после того, как возвращённый ответ был передан в respondWith.

function upgradeWebSocket(request: Request, options?: UpgradeWebSocketOptions): WebSocketUpgrade;
upgradeWebSocket(request: Request, options?: UpgradeWebSocketOptions): WebSocketUpgrade

Параметры

request: Request
options?: UpgradeWebSocketOptions optional

Тип возвращаемого значения

WebSocketUpgrade

© 2018–2022 the Deno authors
https://doc.deno.land/deno/stable/~/Deno.upgradeWebSocket

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API