diff --git a/src/hooks.ts b/src/hooks.ts index 58a4a7b..a1a7721 100644 --- a/src/hooks.ts +++ b/src/hooks.ts @@ -41,13 +41,21 @@ export class AdapterHookable { } async upgrade( - request: UpgradeRequest & { context?: Peer["context"] }, + request: UpgradeRequest & { readonly context?: Peer["context"] }, ): Promise<{ upgradeHeaders?: HeadersInit; endResponse?: Response; context: Peer["context"]; }> { - const context = (request.context ??= {}); + let context = request.context; + if (!context) { + context = {}; + Object.defineProperty(request, "context", { + enumerable: true, + value: context, + }); + } + try { const res = await this.callHook( "upgrade",