Skip to content

Commit 8a32560

Browse files
committed
Add dummy ctx to bun/deno/node
1 parent 589f8a6 commit 8a32560

5 files changed

Lines changed: 11 additions & 7 deletions

File tree

lib/bun.mjs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11

2-
import { worker } from './worker.mjs'
3-
import { httpsRedirect, readCert } from './env.mjs'
2+
import { httpsRedirect, readCert, worker } from './env.mjs'
43

54

65
var listen = (app, env = {}) => {

lib/deno.mjs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11

2-
import { worker } from './worker.mjs'
3-
import { httpsRedirect, readCert } from './env.mjs'
2+
import { httpsRedirect, readCert, worker } from './env.mjs'
43

54

65
var listen = (app, env = {}) => {

lib/env.mjs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import { readdirSync, readFileSync } from 'node:fs'
33
import { join } from 'node:path'
44
import { isArr, isFn } from '../util.mjs'
5+
import { worker as sharedWorker } from './worker.mjs'
56

67

78
var loadEnv = (file, rest) => {
@@ -77,9 +78,11 @@ var loadEnv = (file, rest) => {
7778
opts.onReload?.()
7879
})
7980
}
81+
, ctx = { waitUntil() {} }
82+
, worker = (app, env, handle = sharedWorker(app, env)) => (req, e) => handle(req, e, ctx)
8083

8184
export * from './shim-cloudflare.mjs'
8285
export { Database as DB } from '#sqlite'
8386
export { serveRange, serveStatic } from './serve.mjs'
84-
export { httpsRedirect, loadEnv, readCert, readFiles, setupShutdown }
87+
export { httpsRedirect, loadEnv, readCert, readFiles, setupShutdown, worker }
8588

lib/node.mjs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@
22
import { createServer } from 'node:http'
33
import { createServer as createSecureServer } from 'node:https'
44
import { Readable } from 'node:stream'
5-
import { worker } from './worker.mjs'
6-
import { httpsRedirect, readCert } from './env.mjs'
5+
import { httpsRedirect, readCert, worker } from './env.mjs'
76

87

98
var listen = (app, env = {}) => {

test/adapters.mjs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,7 @@ describe('{0} adapter', !skip && [
155155

156156
var app = App()
157157
app.get('x', () => name)
158+
app.get('defer', (req, env, ctx) => (ctx.waitUntil(Promise.resolve()), name))
158159
var env = loadEnv(null, { HOSTNAME: 'test.litejs.com', PORT: 1234 })
159160
, server = lib.listen(app, env)
160161

@@ -166,6 +167,9 @@ describe('{0} adapter', !skip && [
166167
var res = await calls[0].fetch(new Request('http://localhost/x'))
167168
assert.equal(await res.text(), name, 'serve handler routes through the app')
168169

170+
var deferred = await calls[0].fetch(new Request('http://localhost/defer'))
171+
assert.equal(await deferred.text(), name, 'ctx.waitUntil is wired (no-op off Workers)')
172+
169173
server.close()
170174
assert.equal(stop.called, 1, 'close() stops the single listener')
171175
server.reload() // without a TLS listener reload is a no-op

0 commit comments

Comments
 (0)