diff benchmark/bun-http-framework-benchmark/src/bun/h3.ts @ 183:a8976a008a9d

[BenchMark] Added bun bench mark to test seoboe vs other popular benchmarks.
author MrJuneJune <me@mrjunejune.com>
date Fri, 23 Jan 2026 21:19:08 -0800
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/benchmark/bun-http-framework-benchmark/src/bun/h3.ts	Fri Jan 23 21:19:08 2026 -0800
@@ -0,0 +1,46 @@
+import {
+    toWebHandler,
+	createApp,
+	createRouter,
+	eventHandler,
+	toNodeListener,
+	getQuery,
+	setResponseHeader,
+	readBody
+} from 'h3'
+
+const app = createApp()
+const router = createRouter()
+
+router.get(
+	'/',
+	eventHandler((event) => {
+		setResponseHeader(event, 'content-type', 'text/plain')
+
+		return 'Hi'
+	})
+)
+
+router.get(
+	'/id/:id',
+	eventHandler((event) => {
+		const query = getQuery(event)
+
+		setResponseHeader(event, 'content-type', 'text/plain')
+		setResponseHeader(event, 'x-powered-by', 'benchmark')
+
+		return `${event.context.params?.id} ${query.name}`
+	})
+)
+
+router.post(
+	'/json',
+	eventHandler((event) => readBody(event))
+)
+
+app.use(router)
+
+Bun.serve({
+    port: 3000,
+    fetch: toWebHandler(app) as any
+})
\ No newline at end of file