From 994ee15f5e503631307d5459d75d3bb951d55baf Mon Sep 17 00:00:00 2001 From: Oscar Beaumont Date: Sun, 14 Jan 2024 17:41:09 +0800 Subject: [PATCH 1/3] patch --- packages/start/server/middleware.ts | 42 ++++++++++++++++++++++++++--- 1 file changed, 38 insertions(+), 4 deletions(-) diff --git a/packages/start/server/middleware.ts b/packages/start/server/middleware.ts index de88c0555..45b786d37 100644 --- a/packages/start/server/middleware.ts +++ b/packages/start/server/middleware.ts @@ -1,11 +1,11 @@ import { - defineMiddleware, EventHandlerRequest, + H3Event, + defineMiddleware, getRequestIP, getRequestURL, - H3Event, - sendWebResponse, - toWebRequest + getRequestWebStream, + sendWebResponse } from "vinxi/server"; import { FetchEvent } from "./types"; @@ -18,6 +18,40 @@ const eventTraps = { } }; +function toWebRequest(/** @type {H3Event} */ event) { + /** + * @type {ReadableStream | undefined} + */ + let readableStream; + + const url = getRequestURL(event); + const base = { + // @ts-ignore Undici option + duplex: "half", + method: event.method, + headers: event.headers + }; + + if (event.node.req.body instanceof ArrayBuffer) { + return new Request(url, { + ...base, + body: event.node.req.body + }); + } + + return new Request(getRequestURL(event), { + ...base, + get body() { + if (readableStream) { + return readableStream; + } + readableStream = getRequestWebStream(event); + console.log(readableStream); + return readableStream; + } + }); +} + export function createFetchEvent(event: H3Event): FetchEvent { event.web || (event.web = { From a3267caf032efd21d789d1456c9a7a670cd74563 Mon Sep 17 00:00:00 2001 From: Oscar Beaumont Date: Sun, 14 Jan 2024 18:24:19 +0800 Subject: [PATCH 2/3] whoops, lol --- packages/start/server/middleware.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/start/server/middleware.ts b/packages/start/server/middleware.ts index 45b786d37..395295789 100644 --- a/packages/start/server/middleware.ts +++ b/packages/start/server/middleware.ts @@ -46,7 +46,6 @@ function toWebRequest(/** @type {H3Event} */ event) { return readableStream; } readableStream = getRequestWebStream(event); - console.log(readableStream); return readableStream; } }); From 10546040c0d00db8e8e49f4f30216f72e7489766 Mon Sep 17 00:00:00 2001 From: Oscar Beaumont Date: Sun, 14 Jan 2024 20:15:56 +0800 Subject: [PATCH 3/3] revert + upgrade Vinxi --- examples/with-mdx/package.json | 2 +- examples/with-solid-styled/package.json | 2 +- examples/with-vitest/package.json | 2 +- package.json | 2 +- packages/start/server/middleware.ts | 41 +++---------------------- 5 files changed, 8 insertions(+), 41 deletions(-) diff --git a/examples/with-mdx/package.json b/examples/with-mdx/package.json index f84b1bf4e..2df538060 100644 --- a/examples/with-mdx/package.json +++ b/examples/with-mdx/package.json @@ -12,7 +12,7 @@ "@solidjs/start": "^0.4.9", "@vinxi/plugin-mdx": "^3.6.7", "solid-js": "^1.8.11", - "vinxi": "^0.1.2", + "vinxi": "^0.1.3", "solid-mdx": "^0.0.7" }, "engines": { diff --git a/examples/with-solid-styled/package.json b/examples/with-solid-styled/package.json index 88c53b5c8..9701094b5 100644 --- a/examples/with-solid-styled/package.json +++ b/examples/with-solid-styled/package.json @@ -12,7 +12,7 @@ "@solidjs/start": "^0.4.9", "solid-js": "^1.8.11", "solid-styled": "^0.8.2", - "vinxi": "^0.1.2", + "vinxi": "^0.1.3", "vite-plugin-solid-styled": "^0.8.3" }, "engines": { diff --git a/examples/with-vitest/package.json b/examples/with-vitest/package.json index af3b1904c..8afe32796 100644 --- a/examples/with-vitest/package.json +++ b/examples/with-vitest/package.json @@ -21,7 +21,7 @@ "jsdom": "^23.0.1", "solid-js": "^1.8.11", "typescript": "^5.3.3", - "vinxi": "^0.1.2", + "vinxi": "^0.1.3", "vite": "^4.4.9", "vite-plugin-solid": "^2.8.0", "vitest": "^1.1.0" diff --git a/package.json b/package.json index c375dfd1b..26021db71 100644 --- a/package.json +++ b/package.json @@ -54,7 +54,7 @@ "turbo": "^1.10.7", "typescript": "4.7.4", "valibot": "0.24.1", - "vinxi": "^0.1.2", + "vinxi": "^0.1.3", "vite": "^4.4.6" }, "dependencies": { diff --git a/packages/start/server/middleware.ts b/packages/start/server/middleware.ts index 395295789..de88c0555 100644 --- a/packages/start/server/middleware.ts +++ b/packages/start/server/middleware.ts @@ -1,11 +1,11 @@ import { - EventHandlerRequest, - H3Event, defineMiddleware, + EventHandlerRequest, getRequestIP, getRequestURL, - getRequestWebStream, - sendWebResponse + H3Event, + sendWebResponse, + toWebRequest } from "vinxi/server"; import { FetchEvent } from "./types"; @@ -18,39 +18,6 @@ const eventTraps = { } }; -function toWebRequest(/** @type {H3Event} */ event) { - /** - * @type {ReadableStream | undefined} - */ - let readableStream; - - const url = getRequestURL(event); - const base = { - // @ts-ignore Undici option - duplex: "half", - method: event.method, - headers: event.headers - }; - - if (event.node.req.body instanceof ArrayBuffer) { - return new Request(url, { - ...base, - body: event.node.req.body - }); - } - - return new Request(getRequestURL(event), { - ...base, - get body() { - if (readableStream) { - return readableStream; - } - readableStream = getRequestWebStream(event); - return readableStream; - } - }); -} - export function createFetchEvent(event: H3Event): FetchEvent { event.web || (event.web = {