diff --git a/docs/2.adapters/deno.md b/docs/2.adapters/deno.md
index 5b7e3b4..1488adf 100644
--- a/docs/2.adapters/deno.md
+++ b/docs/2.adapters/deno.md
@@ -17,9 +17,9 @@ const { handleUpgrade } = wsAdapter({
},
});
-Deno.serve({ port: 3000 }, (request) => {
+Deno.serve({ port: 3000 }, (request, info) => {
if (request.headers.get("upgrade") === "websocket") {
- return handleUpgrade(request);
+ return handleUpgrade(request, info);
}
return new Response(
``,
diff --git a/playground/deno.ts b/playground/deno.ts
index 303726a..26d1d5c 100644
--- a/playground/deno.ts
+++ b/playground/deno.ts
@@ -9,9 +9,9 @@ import { createDemo, getIndexHTML } from "./_shared.ts";
const adapter = createDemo(denoAdapter);
-Deno.serve({ port: 3001 }, async (req) => {
+Deno.serve({ port: 3001 }, async (req, info) => {
if (req.headers.get("upgrade") === "websocket") {
- return adapter.handleUpgrade(req);
+ return adapter.handleUpgrade(req, info);
}
return new Response(await getIndexHTML(), {
diff --git a/src/adapters/deno.ts b/src/adapters/deno.ts
index 71271d7..34806af 100644
--- a/src/adapters/deno.ts
+++ b/src/adapters/deno.ts
@@ -10,7 +10,7 @@ import { createCrossWS } from "../crossws";
import { toBufferLike } from "../_utils";
export interface DenoAdapter {
- handleUpgrade(req: Request): Promise;
+ handleUpgrade(req: Request, info: ServeHandlerInfo): Promise;
}
export interface DenoOptions extends AdapterOptions {}
@@ -20,12 +20,13 @@ declare global {
}
type WebSocketUpgrade = import("@deno/types").Deno.WebSocketUpgrade;
+type ServeHandlerInfo = any; // TODO
export default defineWebSocketAdapter(
(options = {}) => {
const crossws = createCrossWS(options);
- const handleUpgrade = async (req: Request) => {
+ const handleUpgrade = async (req: Request, info: ServeHandlerInfo) => {
const { headers } = await crossws.upgrade({
url: req.url,
headers: req.headers,
@@ -37,7 +38,7 @@ export default defineWebSocketAdapter(
});
const peer = new DenoPeer({
- deno: { ws: upgrade.socket, req },
+ deno: { ws: upgrade.socket, req, info },
});
upgrade.socket.addEventListener("open", () => {
@@ -66,7 +67,11 @@ export default defineWebSocketAdapter(
);
class DenoPeer extends Peer<{
- deno: { ws: WebSocketUpgrade["socket"]; req: Request };
+ deno: {
+ ws: WebSocketUpgrade["socket"];
+ req: Request;
+ info: ServeHandlerInfo;
+ };
}> {
get id() {
// @ts-expect-error types missing