From ddebff92f8bf93b227b5a22b6beac6bf65abbac1 Mon Sep 17 00:00:00 2001 From: Victor Berchet Date: Wed, 30 Oct 2024 17:46:11 +0100 Subject: [PATCH 1/2] feature(edge): add a way for convertTo to return a Request --- packages/open-next/src/overrides/converters/edge.ts | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/packages/open-next/src/overrides/converters/edge.ts b/packages/open-next/src/overrides/converters/edge.ts index d6f695ff6..43346d81a 100644 --- a/packages/open-next/src/overrides/converters/edge.ts +++ b/packages/open-next/src/overrides/converters/edge.ts @@ -5,6 +5,11 @@ import type { Converter, InternalEvent, InternalResult } from "types/open-next"; import type { MiddlewareOutputEvent } from "../../core/routingHandler"; +declare global { + // Makes convertTo returns the request instead of fetching it. + var __dangerous_ON_edge_converter_returns_request: boolean | undefined; +} + const converter: Converter< InternalEvent, InternalResult | ({ type: "middleware" } & MiddlewareOutputEvent) @@ -63,7 +68,7 @@ const converter: Converter< } } - const req = new Request(url, { + const request = new Request(url, { body: result.internalEvent.body, method: result.internalEvent.method, headers: { @@ -72,6 +77,10 @@ const converter: Converter< }, }); + if (globalThis.__dangerous_ON_edge_converter_returns_request === true) { + return request; + } + const cfCache = (result.isISR || result.internalEvent.rawPath.startsWith("/_next/image")) && @@ -79,7 +88,7 @@ const converter: Converter< ? { cacheEverything: true } : {}; - return fetch(req, { + return fetch(request, { // This is a hack to make sure that the response is cached by Cloudflare // See https://developers.cloudflare.com/workers/examples/cache-using-fetch/#caching-html-resources // @ts-expect-error - This is a Cloudflare specific option From 00b47c9f6e2f547f91692bbc4cfda17775d792c1 Mon Sep 17 00:00:00 2001 From: Victor Berchet Date: Wed, 30 Oct 2024 17:55:41 +0100 Subject: [PATCH 2/2] fixup! changeset --- .changeset/fluffy-peas-live.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/fluffy-peas-live.md diff --git a/.changeset/fluffy-peas-live.md b/.changeset/fluffy-peas-live.md new file mode 100644 index 000000000..0c39e7559 --- /dev/null +++ b/.changeset/fluffy-peas-live.md @@ -0,0 +1,5 @@ +--- +"@opennextjs/aws": patch +--- + +feature(edge): add a way for convertTo to return a Request