diff --git a/src/listener.ts b/src/listener.ts index 2724ffd..a9ea3dd 100644 --- a/src/listener.ts +++ b/src/listener.ts @@ -98,12 +98,15 @@ const responseViaCache = async ( ;(outgoing as OutgoingHasOutgoingEnded)[outgoingEnded]?.() } +const isPromise = (res: Response | Promise): res is Promise => + typeof (res as Promise).then === 'function' + const responseViaResponseObject = async ( res: Response | Promise, outgoing: ServerResponse | Http2ServerResponse, options: { errorHandler?: CustomErrorHandler } = {} ) => { - if (res instanceof Promise) { + if (isPromise(res)) { if (options.errorHandler) { try { res = await res