MCPcopy Create free account
hub / github.com/honojs/node-server / runner

Function runner

test/server.test.ts:136–446  ·  view source on GitHub ↗
(Response: typeof GlobalResponse)

Source from the content-addressed store, hash-verified

134
135describe('various response body types', () => {
136 const runner = (Response: typeof GlobalResponse) => {
137 const largeText = 'a'.repeat(1024 * 1024 * 10)
138 let server: ServerType
139 let resolveReadableStreamPromise: () => void
140 let resolveEventStreamPromise: () => void
141 let resolveEventStreamWithoutTransferEncodingPromise: () => void
142 beforeAll(() => {
143 const app = new Hono()
144 app.use('*', async (c, next) => {
145 await next()
146
147 // generate internal response object
148 const status = c.res.status
149 if (status > 999) {
150 c.res = new Response('Internal Server Error', { status: 500 })
151 }
152 })
153 app.get('/', () => {
154 const response = new Response('Hello! Node!')
155 return response
156 })
157 app.get('/large', () => {
158 // 10MB text
159 const response = new Response(largeText)
160 return response
161 })
162 app.get('/uint8array', () => {
163 const response = new Response(new Uint8Array([1, 2, 3]), {
164 headers: { 'content-type': 'application/octet-stream' },
165 })
166 return response
167 })
168 app.get('/blob', () => {
169 const response = new Response(new Blob([new Uint8Array([1, 2, 3])]), {
170 headers: { 'content-type': 'application/octet-stream' },
171 })
172 return response
173 })
174 const readableStreamPromise = new Promise<void>((resolve) => {
175 resolveReadableStreamPromise = resolve
176 })
177 app.get('/readable-stream', () => {
178 const stream = new ReadableStream({
179 async start(controller) {
180 await readableStreamPromise
181 controller.enqueue('Hello!')
182 controller.enqueue(' Node!')
183 controller.close()
184 },
185 })
186 return new Response(stream)
187 })
188 app.get('/readable-stream-with-transfer-encoding', () => {
189 const stream = new ReadableStream({
190 async start(controller) {
191 controller.enqueue('Hello!') // send one chunk synchronously
192 controller.close()
193 },

Callers 1

server.test.tsFile · 0.70

Calls 2

createAdaptorServerFunction · 0.90
onMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…