import nodejs from '../dist/index.js'; import { loadFixture, createRequestAndResponse } from './test-utils.js'; import { expect } from 'chai'; describe('Node Adapter Headers', () => { /** @type {import('./test-utils').Fixture} */ let fixture; before(async () => { fixture = await loadFixture({ root: './fixtures/headers/', output: 'server', adapter: nodejs({ mode: 'middleware' }), }); await fixture.build(); }); it('Endpoint Simple Headers', async () => { await runTest('/endpoints/simple', { 'content-type': 'text/plain;charset=utf-8', 'x-hello': 'world', }); }); it('Endpoint Astro Single Cookie Header', async () => { await runTest('/endpoints/astro-cookies-single', { 'content-type': 'text/plain;charset=utf-8', 'set-cookie': 'from1=astro1', }); }); it('Endpoint Astro Multi Cookie Header', async () => { await runTest('/endpoints/astro-cookies-multi', { 'content-type': 'text/plain;charset=utf-8', 'set-cookie': ['from1=astro1', 'from2=astro2'], }); }); it('Endpoint Response Single Cookie Header', async () => { await runTest('/endpoints/response-cookies-single', { 'content-type': 'text/plain;charset=utf-8', 'set-cookie': 'hello1=world1', }); }); it('Endpoint Response Multi Cookie Header', async () => { await runTest('/endpoints/response-cookies-multi', { 'content-type': 'text/plain;charset=utf-8', 'set-cookie': ['hello1=world1', 'hello2=world2'], }); }); it('Endpoint Complex Headers Kitchen Sink', async () => { await runTest('/endpoints/kitchen-sink', { 'content-type': 'text/plain;charset=utf-8', 'x-single': 'single', 'x-triple': 'one, two, three', 'set-cookie': ['hello1=world1', 'hello2=world2'], }); }); it('Endpoint Astro and Response Single Cookie Header', async () => { await runTest('/endpoints/astro-response-cookie-single', { 'content-type': 'text/plain;charset=utf-8', 'set-cookie': ['from1=response1', 'from1=astro1'], }); }); it('Endpoint Astro and Response Multi Cookie Header', async () => { await runTest('/endpoints/astro-response-cookie-multi', { 'content-type': 'text/plain;charset=utf-8', 'set-cookie': ['from1=response1', 'from2=response2', 'from3=astro1', 'from4=astro2'], }); }); it('Endpoint Response Empty Headers Object', async () => { await runTest('/endpoints/response-empty-headers-object', { 'content-type': 'text/plain;charset=UTF-8', }); }); it('Endpoint Response undefined Headers Object', async () => { await runTest('/endpoints/response-undefined-headers-object', { 'content-type': 'text/plain;charset=UTF-8', }); }); it('Component Astro Single Cookie Header', async () => { await runTest('/astro/component-astro-cookies-single', { 'content-type': 'text/html', 'set-cookie': 'from1=astro1', }); }); it('Component Astro Multi Cookie Header', async () => { await runTest('/astro/component-astro-cookies-multi', { 'content-type': 'text/html', 'set-cookie': ['from1=astro1', 'from2=astro2'], }); }); it('Component Response Single Cookie Header', async () => { await runTest('/astro/component-response-cookies-single', { 'content-type': 'text/html', 'set-cookie': 'from1=value1', }); }); it('Component Response Multi Cookie Header', async () => { await runTest('/astro/component-response-cookies-multi', { 'content-type': 'text/html', 'set-cookie': ['from1=value1', 'from2=value2'], }); }); it('Component Astro and Response Single Cookie Header', async () => { await runTest('/astro/component-astro-response-cookie-single', { 'content-type': 'text/html', 'set-cookie': ['from1=response1', 'from1=astro1'], }); }); it('Component Astro and Response Multi Cookie Header', async () => { await runTest('/astro/component-astro-response-cookie-multi', { 'content-type': 'text/html', 'set-cookie': ['from1=response1', 'from2=response2', 'from3=astro1', 'from4=astro2'], }); }); }); async function runTest(url, expectedHeaders) { const { handler } = await import('./fixtures/headers/dist/server/entry.mjs'); let { req, res, done } = createRequestAndResponse({ method: 'GET', url, }); handler(req, res); req.send(); await done; const headers = res.getHeaders(); expect(headers).to.deep.equal(expectedHeaders); } Unnamed repository; edit this file 'description' to name the repository.
aboutsummaryrefslogtreecommitdiff
path: root/bench (unfollow)
AgeCommit message (Expand)AuthorFilesLines
2023-10-18Adds macOS Keychain certs to default CA storeGravatar Anshul Gupta 2-2/+175
2023-10-18fix(node:buffer): fix the behavior of `totalLength` in `Buffer.concat` (#6574)Gravatar Ai Hoshino 2-3/+23
2023-10-18fix: change `--no-scripts` to `--ignore-scripts` (#6587)Gravatar Dawid Sowa 1-2/+2
2023-10-18fix: online docs moved (#6579)Gravatar Mountain/\Ash 1-1/+1
2023-10-18Fix minimum kernel version in docs (#6153)Gravatar Kevin Latka 1-1/+1
2023-10-18build-id++Gravatar Dylan Conway 1-1/+1
2023-10-18fix(web): stub `performance.getEntriesByName` (#6542)Gravatar Liz 1-0/+18
2023-10-17update root package variableGravatar Dylan Conway 1-8/+3
2023-10-17Fix missing `{port: 0}` causing flaky testGravatar Ashcon Partovi 1-0/+2
2023-10-17test changes in usockets in ciGravatar Dylan Conway 5-0/+9
2023-10-17fix #4766 (#6563)Gravatar Pierre CM 1-4/+4
2023-10-17Update ZigGeneratedClasses.cppGravatar Dylan Conway 1-2/+0
2023-10-17use npm alias in dependencies (#6545)Gravatar Dylan Conway 7-29/+271
2023-10-17fix(node:http): fix `server.address()` (#6442)Gravatar Ai Hoshino 12-12/+453
2023-10-17docs: fix ws.publish (#6558)Gravatar Aral Roca Gomez 1-1/+1
2023-10-17perf(bun-types): remove needless some call (#6550)Gravatar Mikhail 1-1/+1
2023-10-16fix(runtime): make some things more stable (partial jsc debug build) (#5881)Gravatar dave caruso 116-1446/+1830
2023-10-16fix(runtime): improve IPC reliability + organization pass on that code (#6475)Gravatar dave caruso 15-98/+266
2023-10-16Simplify getting Set of extentions (#4975)Gravatar Mikhail 1-3/+3
2023-10-16Fix formattingGravatar Ashcon Partovi 1-3/+1
2023-10-16fix(test): when tests run with --only the nested describe blocks `.on… (#5616)Gravatar Igor Shapiro 2-13/+45
2023-10-16perf(node:events): optimize `emit(...)` function (#5485)Gravatar Yannik Schröder 3-11/+132
2023-10-16fix: don't remove content-encoding header from header table (#5743)Gravatar Liz 2-2/+25
2023-10-16fix(sqlite) Insert .all() does not return an array #5872 (#5946)Gravatar Hugo Galan 2-7/+11
2023-10-16Fix formattingGravatar Ashcon Partovi 2-5/+4
2023-10-16Fix `Response.statusText` (#6151)Gravatar Chris Toshok 10-238/+269
2023-10-16fix-subprocess-argument-missing (#6407)Gravatar Nicolae-Rares Ailincai 4-2/+40
2023-10-16Add type parameter to `expect` (#6128)Gravatar Voldemat 1-3/+3
2023-10-16fix(node:worker_threads): ensure threadId property is exposed on worker_threa...Gravatar Jérôme Benoit 6-15/+75
2023-10-16Fix use before define bug in sqliteGravatar Ashcon Partovi 2-5/+5
2023-10-16fix(jest): fix toStrictEqual on same URLs (#6528)Gravatar João Alisson 2-13/+16
2023-10-16Fix `toHaveBeenCalled` having wrong error signatureGravatar Ashcon Partovi 1-2/+2
2023-10-16Fix formattingGravatar Ashcon Partovi 1-2/+1
2023-10-16Add `reusePort` to `Bun.serve` typesGravatar Ashcon Partovi 1-0/+9
2023-10-16Fix `request.url` having incorrect portGravatar Ashcon Partovi 4-1/+92
2023-10-16Remove uWebSockets header from Bun.serve responsesGravatar Ashcon Partovi 1-6/+6
2023-10-16Rename some testsGravatar Ashcon Partovi 3-0/+0
2023-10-16Fix #6467Gravatar Ashcon Partovi 2-3/+10
2023-10-16Update InternalModuleRegistryConstants.hGravatar Dylan Conway 1-3/+3
2023-10-16Development -> Contributing (#6538)Gravatar Colin McDonnell 2-1/+1
2023-10-14fix(net/tls) fix pg hang on end + hanging on query (#6487)Gravatar Ciro Spaciari 3-8/+36
2023-10-13fix installing dependencies that match workspace versions (#6494)Gravatar Dylan Conway 4-2/+64
2023-10-13fix lockfile struct padding (#6495)Gravatar Dylan Conway 3-3/+18