From 53a23ed18efb6b621e059bbae5e09378ff93d375 Mon Sep 17 00:00:00 2001 From: Oleg Isonen Date: Fri, 2 Oct 2026 12:37:27 +0100 Subject: [PATCH] Regenerate route fixtures for shared authentication helper --- .../app/routes/[another-page]._index.tsx | 28 +++++-------------- .../app/routes/_index.tsx | 28 +++++-------------- .../app/routes/[another-page]._index.tsx | 28 +++++-------------- .../react-router-docker/app/routes/_index.tsx | 28 +++++-------------- .../app/routes/[another-page]._index.tsx | 28 +++++-------------- .../app/routes/_index.tsx | 28 +++++-------------- .../app/routes/[another-page]._index.tsx | 28 +++++-------------- .../react-router-vercel/app/routes/_index.tsx | 28 +++++-------------- .../routes/[_route_with_symbols_]._index.tsx | 28 +++++-------------- .../app/routes/[animations]._index.tsx | 28 +++++-------------- .../app/routes/[assets1]._index.tsx | 28 +++++-------------- .../app/routes/[class-names]._index.tsx | 28 +++++-------------- .../app/routes/[content-block]._index.tsx | 28 +++++-------------- .../app/routes/[duration]._index.tsx | 28 +++++-------------- .../app/routes/[expressions]._index.tsx | 28 +++++-------------- .../app/routes/[form]._index.tsx | 28 +++++-------------- .../app/routes/[head-tag]._index.tsx | 28 +++++-------------- .../app/routes/[heading-with-id]._index.tsx | 28 +++++-------------- .../routes/[nested].[nested-page]._index.tsx | 28 +++++-------------- .../app/routes/[radix]._index.tsx | 28 +++++-------------- .../app/routes/[resources]._index.tsx | 28 +++++-------------- .../app/routes/[sitemap.xml]._index.tsx | 26 ++++------------- .../app/routes/[text-duration]._index.tsx | 28 +++++-------------- .../webstudio-features/app/routes/_index.tsx | 28 +++++-------------- 24 files changed, 167 insertions(+), 503 deletions(-) diff --git a/fixtures/react-router-cloudflare/app/routes/[another-page]._index.tsx b/fixtures/react-router-cloudflare/app/routes/[another-page]._index.tsx index 9c7d45562e..980e87a3f2 100644 --- a/fixtures/react-router-cloudflare/app/routes/[another-page]._index.tsx +++ b/fixtures/react-router-cloudflare/app/routes/[another-page]._index.tsx @@ -18,7 +18,7 @@ import { formBotFieldName, cachedFetch, } from "@webstudio-is/sdk/runtime"; -import { authenticateRequest } from "@webstudio-is/wsauth"; +import { authenticateProjectRequest } from "@webstudio-is/wsauth"; import { ReactSdkContext, PageSettingsMeta, @@ -47,24 +47,6 @@ import { authRoutes } from "../__generated__/$resources.wsauth.server"; import { createGeneratedAssetResourceFetch } from "../__generated__/$resources.asset-query-runtime"; import { assetUrlsByPath } from "../__generated__/$resources.assets"; -const authenticateProductionRequest = (request: Request) => { - const host = - request.headers.get("x-forwarded-host") || - request.headers.get("host") || - ""; - - const requestHost = host.split(":")[0]; - if ( - projectDomain !== undefined && - (requestHost === projectDomain || - requestHost.startsWith(`${projectDomain}.`)) - ) { - return; - } - - return authenticateRequest(request, authRoutes); -}; - const customFetch: typeof fetch = (input, init) => { if (typeof input !== "string") { return cachedFetch(projectId, input, init); @@ -99,7 +81,11 @@ const customFetch: typeof fetch = (input, init) => { }; export const loader = async (arg: LoaderFunctionArgs) => { - const authRoute = authenticateProductionRequest(arg.request); + const authRoute = authenticateProjectRequest( + arg.request, + authRoutes, + projectDomain + ); const url = new URL(arg.request.url); const host = @@ -259,7 +245,7 @@ export const action = async ({ }: ActionFunctionArgs): Promise< { success: true } | { success: false; errors: string[] } > => { - authenticateProductionRequest(request); + authenticateProjectRequest(request, authRoutes, projectDomain); try { const url = new URL(request.url); diff --git a/fixtures/react-router-cloudflare/app/routes/_index.tsx b/fixtures/react-router-cloudflare/app/routes/_index.tsx index 34b4765781..13c1e1d5b2 100644 --- a/fixtures/react-router-cloudflare/app/routes/_index.tsx +++ b/fixtures/react-router-cloudflare/app/routes/_index.tsx @@ -18,7 +18,7 @@ import { formBotFieldName, cachedFetch, } from "@webstudio-is/sdk/runtime"; -import { authenticateRequest } from "@webstudio-is/wsauth"; +import { authenticateProjectRequest } from "@webstudio-is/wsauth"; import { ReactSdkContext, PageSettingsMeta, @@ -47,24 +47,6 @@ import { authRoutes } from "../__generated__/$resources.wsauth.server"; import { createGeneratedAssetResourceFetch } from "../__generated__/$resources.asset-query-runtime"; import { assetUrlsByPath } from "../__generated__/$resources.assets"; -const authenticateProductionRequest = (request: Request) => { - const host = - request.headers.get("x-forwarded-host") || - request.headers.get("host") || - ""; - - const requestHost = host.split(":")[0]; - if ( - projectDomain !== undefined && - (requestHost === projectDomain || - requestHost.startsWith(`${projectDomain}.`)) - ) { - return; - } - - return authenticateRequest(request, authRoutes); -}; - const customFetch: typeof fetch = (input, init) => { if (typeof input !== "string") { return cachedFetch(projectId, input, init); @@ -99,7 +81,11 @@ const customFetch: typeof fetch = (input, init) => { }; export const loader = async (arg: LoaderFunctionArgs) => { - const authRoute = authenticateProductionRequest(arg.request); + const authRoute = authenticateProjectRequest( + arg.request, + authRoutes, + projectDomain + ); const url = new URL(arg.request.url); const host = @@ -259,7 +245,7 @@ export const action = async ({ }: ActionFunctionArgs): Promise< { success: true } | { success: false; errors: string[] } > => { - authenticateProductionRequest(request); + authenticateProjectRequest(request, authRoutes, projectDomain); try { const url = new URL(request.url); diff --git a/fixtures/react-router-docker/app/routes/[another-page]._index.tsx b/fixtures/react-router-docker/app/routes/[another-page]._index.tsx index 9c7d45562e..980e87a3f2 100644 --- a/fixtures/react-router-docker/app/routes/[another-page]._index.tsx +++ b/fixtures/react-router-docker/app/routes/[another-page]._index.tsx @@ -18,7 +18,7 @@ import { formBotFieldName, cachedFetch, } from "@webstudio-is/sdk/runtime"; -import { authenticateRequest } from "@webstudio-is/wsauth"; +import { authenticateProjectRequest } from "@webstudio-is/wsauth"; import { ReactSdkContext, PageSettingsMeta, @@ -47,24 +47,6 @@ import { authRoutes } from "../__generated__/$resources.wsauth.server"; import { createGeneratedAssetResourceFetch } from "../__generated__/$resources.asset-query-runtime"; import { assetUrlsByPath } from "../__generated__/$resources.assets"; -const authenticateProductionRequest = (request: Request) => { - const host = - request.headers.get("x-forwarded-host") || - request.headers.get("host") || - ""; - - const requestHost = host.split(":")[0]; - if ( - projectDomain !== undefined && - (requestHost === projectDomain || - requestHost.startsWith(`${projectDomain}.`)) - ) { - return; - } - - return authenticateRequest(request, authRoutes); -}; - const customFetch: typeof fetch = (input, init) => { if (typeof input !== "string") { return cachedFetch(projectId, input, init); @@ -99,7 +81,11 @@ const customFetch: typeof fetch = (input, init) => { }; export const loader = async (arg: LoaderFunctionArgs) => { - const authRoute = authenticateProductionRequest(arg.request); + const authRoute = authenticateProjectRequest( + arg.request, + authRoutes, + projectDomain + ); const url = new URL(arg.request.url); const host = @@ -259,7 +245,7 @@ export const action = async ({ }: ActionFunctionArgs): Promise< { success: true } | { success: false; errors: string[] } > => { - authenticateProductionRequest(request); + authenticateProjectRequest(request, authRoutes, projectDomain); try { const url = new URL(request.url); diff --git a/fixtures/react-router-docker/app/routes/_index.tsx b/fixtures/react-router-docker/app/routes/_index.tsx index 34b4765781..13c1e1d5b2 100644 --- a/fixtures/react-router-docker/app/routes/_index.tsx +++ b/fixtures/react-router-docker/app/routes/_index.tsx @@ -18,7 +18,7 @@ import { formBotFieldName, cachedFetch, } from "@webstudio-is/sdk/runtime"; -import { authenticateRequest } from "@webstudio-is/wsauth"; +import { authenticateProjectRequest } from "@webstudio-is/wsauth"; import { ReactSdkContext, PageSettingsMeta, @@ -47,24 +47,6 @@ import { authRoutes } from "../__generated__/$resources.wsauth.server"; import { createGeneratedAssetResourceFetch } from "../__generated__/$resources.asset-query-runtime"; import { assetUrlsByPath } from "../__generated__/$resources.assets"; -const authenticateProductionRequest = (request: Request) => { - const host = - request.headers.get("x-forwarded-host") || - request.headers.get("host") || - ""; - - const requestHost = host.split(":")[0]; - if ( - projectDomain !== undefined && - (requestHost === projectDomain || - requestHost.startsWith(`${projectDomain}.`)) - ) { - return; - } - - return authenticateRequest(request, authRoutes); -}; - const customFetch: typeof fetch = (input, init) => { if (typeof input !== "string") { return cachedFetch(projectId, input, init); @@ -99,7 +81,11 @@ const customFetch: typeof fetch = (input, init) => { }; export const loader = async (arg: LoaderFunctionArgs) => { - const authRoute = authenticateProductionRequest(arg.request); + const authRoute = authenticateProjectRequest( + arg.request, + authRoutes, + projectDomain + ); const url = new URL(arg.request.url); const host = @@ -259,7 +245,7 @@ export const action = async ({ }: ActionFunctionArgs): Promise< { success: true } | { success: false; errors: string[] } > => { - authenticateProductionRequest(request); + authenticateProjectRequest(request, authRoutes, projectDomain); try { const url = new URL(request.url); diff --git a/fixtures/react-router-netlify/app/routes/[another-page]._index.tsx b/fixtures/react-router-netlify/app/routes/[another-page]._index.tsx index 9c7d45562e..980e87a3f2 100644 --- a/fixtures/react-router-netlify/app/routes/[another-page]._index.tsx +++ b/fixtures/react-router-netlify/app/routes/[another-page]._index.tsx @@ -18,7 +18,7 @@ import { formBotFieldName, cachedFetch, } from "@webstudio-is/sdk/runtime"; -import { authenticateRequest } from "@webstudio-is/wsauth"; +import { authenticateProjectRequest } from "@webstudio-is/wsauth"; import { ReactSdkContext, PageSettingsMeta, @@ -47,24 +47,6 @@ import { authRoutes } from "../__generated__/$resources.wsauth.server"; import { createGeneratedAssetResourceFetch } from "../__generated__/$resources.asset-query-runtime"; import { assetUrlsByPath } from "../__generated__/$resources.assets"; -const authenticateProductionRequest = (request: Request) => { - const host = - request.headers.get("x-forwarded-host") || - request.headers.get("host") || - ""; - - const requestHost = host.split(":")[0]; - if ( - projectDomain !== undefined && - (requestHost === projectDomain || - requestHost.startsWith(`${projectDomain}.`)) - ) { - return; - } - - return authenticateRequest(request, authRoutes); -}; - const customFetch: typeof fetch = (input, init) => { if (typeof input !== "string") { return cachedFetch(projectId, input, init); @@ -99,7 +81,11 @@ const customFetch: typeof fetch = (input, init) => { }; export const loader = async (arg: LoaderFunctionArgs) => { - const authRoute = authenticateProductionRequest(arg.request); + const authRoute = authenticateProjectRequest( + arg.request, + authRoutes, + projectDomain + ); const url = new URL(arg.request.url); const host = @@ -259,7 +245,7 @@ export const action = async ({ }: ActionFunctionArgs): Promise< { success: true } | { success: false; errors: string[] } > => { - authenticateProductionRequest(request); + authenticateProjectRequest(request, authRoutes, projectDomain); try { const url = new URL(request.url); diff --git a/fixtures/react-router-netlify/app/routes/_index.tsx b/fixtures/react-router-netlify/app/routes/_index.tsx index 34b4765781..13c1e1d5b2 100644 --- a/fixtures/react-router-netlify/app/routes/_index.tsx +++ b/fixtures/react-router-netlify/app/routes/_index.tsx @@ -18,7 +18,7 @@ import { formBotFieldName, cachedFetch, } from "@webstudio-is/sdk/runtime"; -import { authenticateRequest } from "@webstudio-is/wsauth"; +import { authenticateProjectRequest } from "@webstudio-is/wsauth"; import { ReactSdkContext, PageSettingsMeta, @@ -47,24 +47,6 @@ import { authRoutes } from "../__generated__/$resources.wsauth.server"; import { createGeneratedAssetResourceFetch } from "../__generated__/$resources.asset-query-runtime"; import { assetUrlsByPath } from "../__generated__/$resources.assets"; -const authenticateProductionRequest = (request: Request) => { - const host = - request.headers.get("x-forwarded-host") || - request.headers.get("host") || - ""; - - const requestHost = host.split(":")[0]; - if ( - projectDomain !== undefined && - (requestHost === projectDomain || - requestHost.startsWith(`${projectDomain}.`)) - ) { - return; - } - - return authenticateRequest(request, authRoutes); -}; - const customFetch: typeof fetch = (input, init) => { if (typeof input !== "string") { return cachedFetch(projectId, input, init); @@ -99,7 +81,11 @@ const customFetch: typeof fetch = (input, init) => { }; export const loader = async (arg: LoaderFunctionArgs) => { - const authRoute = authenticateProductionRequest(arg.request); + const authRoute = authenticateProjectRequest( + arg.request, + authRoutes, + projectDomain + ); const url = new URL(arg.request.url); const host = @@ -259,7 +245,7 @@ export const action = async ({ }: ActionFunctionArgs): Promise< { success: true } | { success: false; errors: string[] } > => { - authenticateProductionRequest(request); + authenticateProjectRequest(request, authRoutes, projectDomain); try { const url = new URL(request.url); diff --git a/fixtures/react-router-vercel/app/routes/[another-page]._index.tsx b/fixtures/react-router-vercel/app/routes/[another-page]._index.tsx index 9c7d45562e..980e87a3f2 100644 --- a/fixtures/react-router-vercel/app/routes/[another-page]._index.tsx +++ b/fixtures/react-router-vercel/app/routes/[another-page]._index.tsx @@ -18,7 +18,7 @@ import { formBotFieldName, cachedFetch, } from "@webstudio-is/sdk/runtime"; -import { authenticateRequest } from "@webstudio-is/wsauth"; +import { authenticateProjectRequest } from "@webstudio-is/wsauth"; import { ReactSdkContext, PageSettingsMeta, @@ -47,24 +47,6 @@ import { authRoutes } from "../__generated__/$resources.wsauth.server"; import { createGeneratedAssetResourceFetch } from "../__generated__/$resources.asset-query-runtime"; import { assetUrlsByPath } from "../__generated__/$resources.assets"; -const authenticateProductionRequest = (request: Request) => { - const host = - request.headers.get("x-forwarded-host") || - request.headers.get("host") || - ""; - - const requestHost = host.split(":")[0]; - if ( - projectDomain !== undefined && - (requestHost === projectDomain || - requestHost.startsWith(`${projectDomain}.`)) - ) { - return; - } - - return authenticateRequest(request, authRoutes); -}; - const customFetch: typeof fetch = (input, init) => { if (typeof input !== "string") { return cachedFetch(projectId, input, init); @@ -99,7 +81,11 @@ const customFetch: typeof fetch = (input, init) => { }; export const loader = async (arg: LoaderFunctionArgs) => { - const authRoute = authenticateProductionRequest(arg.request); + const authRoute = authenticateProjectRequest( + arg.request, + authRoutes, + projectDomain + ); const url = new URL(arg.request.url); const host = @@ -259,7 +245,7 @@ export const action = async ({ }: ActionFunctionArgs): Promise< { success: true } | { success: false; errors: string[] } > => { - authenticateProductionRequest(request); + authenticateProjectRequest(request, authRoutes, projectDomain); try { const url = new URL(request.url); diff --git a/fixtures/react-router-vercel/app/routes/_index.tsx b/fixtures/react-router-vercel/app/routes/_index.tsx index 34b4765781..13c1e1d5b2 100644 --- a/fixtures/react-router-vercel/app/routes/_index.tsx +++ b/fixtures/react-router-vercel/app/routes/_index.tsx @@ -18,7 +18,7 @@ import { formBotFieldName, cachedFetch, } from "@webstudio-is/sdk/runtime"; -import { authenticateRequest } from "@webstudio-is/wsauth"; +import { authenticateProjectRequest } from "@webstudio-is/wsauth"; import { ReactSdkContext, PageSettingsMeta, @@ -47,24 +47,6 @@ import { authRoutes } from "../__generated__/$resources.wsauth.server"; import { createGeneratedAssetResourceFetch } from "../__generated__/$resources.asset-query-runtime"; import { assetUrlsByPath } from "../__generated__/$resources.assets"; -const authenticateProductionRequest = (request: Request) => { - const host = - request.headers.get("x-forwarded-host") || - request.headers.get("host") || - ""; - - const requestHost = host.split(":")[0]; - if ( - projectDomain !== undefined && - (requestHost === projectDomain || - requestHost.startsWith(`${projectDomain}.`)) - ) { - return; - } - - return authenticateRequest(request, authRoutes); -}; - const customFetch: typeof fetch = (input, init) => { if (typeof input !== "string") { return cachedFetch(projectId, input, init); @@ -99,7 +81,11 @@ const customFetch: typeof fetch = (input, init) => { }; export const loader = async (arg: LoaderFunctionArgs) => { - const authRoute = authenticateProductionRequest(arg.request); + const authRoute = authenticateProjectRequest( + arg.request, + authRoutes, + projectDomain + ); const url = new URL(arg.request.url); const host = @@ -259,7 +245,7 @@ export const action = async ({ }: ActionFunctionArgs): Promise< { success: true } | { success: false; errors: string[] } > => { - authenticateProductionRequest(request); + authenticateProjectRequest(request, authRoutes, projectDomain); try { const url = new URL(request.url); diff --git a/fixtures/webstudio-features/app/routes/[_route_with_symbols_]._index.tsx b/fixtures/webstudio-features/app/routes/[_route_with_symbols_]._index.tsx index 1fb6546d37..51a5601666 100644 --- a/fixtures/webstudio-features/app/routes/[_route_with_symbols_]._index.tsx +++ b/fixtures/webstudio-features/app/routes/[_route_with_symbols_]._index.tsx @@ -18,7 +18,7 @@ import { formBotFieldName, cachedFetch, } from "@webstudio-is/sdk/runtime"; -import { authenticateRequest } from "@webstudio-is/wsauth"; +import { authenticateProjectRequest } from "@webstudio-is/wsauth"; import { ReactSdkContext, PageSettingsMeta, @@ -47,24 +47,6 @@ import { authRoutes } from "../__generated__/$resources.wsauth.server"; import { createGeneratedAssetResourceFetch } from "../__generated__/$resources.asset-query-runtime"; import { assetUrlsByPath } from "../__generated__/$resources.assets"; -const authenticateProductionRequest = (request: Request) => { - const host = - request.headers.get("x-forwarded-host") || - request.headers.get("host") || - ""; - - const requestHost = host.split(":")[0]; - if ( - projectDomain !== undefined && - (requestHost === projectDomain || - requestHost.startsWith(`${projectDomain}.`)) - ) { - return; - } - - return authenticateRequest(request, authRoutes); -}; - const customFetch: typeof fetch = (input, init) => { if (typeof input !== "string") { return cachedFetch(projectId, input, init); @@ -99,7 +81,11 @@ const customFetch: typeof fetch = (input, init) => { }; export const loader = async (arg: LoaderFunctionArgs) => { - const authRoute = authenticateProductionRequest(arg.request); + const authRoute = authenticateProjectRequest( + arg.request, + authRoutes, + projectDomain + ); const url = new URL(arg.request.url); const host = @@ -259,7 +245,7 @@ export const action = async ({ }: ActionFunctionArgs): Promise< { success: true } | { success: false; errors: string[] } > => { - authenticateProductionRequest(request); + authenticateProjectRequest(request, authRoutes, projectDomain); try { const url = new URL(request.url); diff --git a/fixtures/webstudio-features/app/routes/[animations]._index.tsx b/fixtures/webstudio-features/app/routes/[animations]._index.tsx index ecc1bccd1f..8b7c39a2ad 100644 --- a/fixtures/webstudio-features/app/routes/[animations]._index.tsx +++ b/fixtures/webstudio-features/app/routes/[animations]._index.tsx @@ -18,7 +18,7 @@ import { formBotFieldName, cachedFetch, } from "@webstudio-is/sdk/runtime"; -import { authenticateRequest } from "@webstudio-is/wsauth"; +import { authenticateProjectRequest } from "@webstudio-is/wsauth"; import { ReactSdkContext, PageSettingsMeta, @@ -47,24 +47,6 @@ import { authRoutes } from "../__generated__/$resources.wsauth.server"; import { createGeneratedAssetResourceFetch } from "../__generated__/$resources.asset-query-runtime"; import { assetUrlsByPath } from "../__generated__/$resources.assets"; -const authenticateProductionRequest = (request: Request) => { - const host = - request.headers.get("x-forwarded-host") || - request.headers.get("host") || - ""; - - const requestHost = host.split(":")[0]; - if ( - projectDomain !== undefined && - (requestHost === projectDomain || - requestHost.startsWith(`${projectDomain}.`)) - ) { - return; - } - - return authenticateRequest(request, authRoutes); -}; - const customFetch: typeof fetch = (input, init) => { if (typeof input !== "string") { return cachedFetch(projectId, input, init); @@ -99,7 +81,11 @@ const customFetch: typeof fetch = (input, init) => { }; export const loader = async (arg: LoaderFunctionArgs) => { - const authRoute = authenticateProductionRequest(arg.request); + const authRoute = authenticateProjectRequest( + arg.request, + authRoutes, + projectDomain + ); const url = new URL(arg.request.url); const host = @@ -259,7 +245,7 @@ export const action = async ({ }: ActionFunctionArgs): Promise< { success: true } | { success: false; errors: string[] } > => { - authenticateProductionRequest(request); + authenticateProjectRequest(request, authRoutes, projectDomain); try { const url = new URL(request.url); diff --git a/fixtures/webstudio-features/app/routes/[assets1]._index.tsx b/fixtures/webstudio-features/app/routes/[assets1]._index.tsx index 8e99c349bc..949ace8682 100644 --- a/fixtures/webstudio-features/app/routes/[assets1]._index.tsx +++ b/fixtures/webstudio-features/app/routes/[assets1]._index.tsx @@ -18,7 +18,7 @@ import { formBotFieldName, cachedFetch, } from "@webstudio-is/sdk/runtime"; -import { authenticateRequest } from "@webstudio-is/wsauth"; +import { authenticateProjectRequest } from "@webstudio-is/wsauth"; import { ReactSdkContext, PageSettingsMeta, @@ -47,24 +47,6 @@ import { authRoutes } from "../__generated__/$resources.wsauth.server"; import { createGeneratedAssetResourceFetch } from "../__generated__/$resources.asset-query-runtime"; import { assetUrlsByPath } from "../__generated__/$resources.assets"; -const authenticateProductionRequest = (request: Request) => { - const host = - request.headers.get("x-forwarded-host") || - request.headers.get("host") || - ""; - - const requestHost = host.split(":")[0]; - if ( - projectDomain !== undefined && - (requestHost === projectDomain || - requestHost.startsWith(`${projectDomain}.`)) - ) { - return; - } - - return authenticateRequest(request, authRoutes); -}; - const customFetch: typeof fetch = (input, init) => { if (typeof input !== "string") { return cachedFetch(projectId, input, init); @@ -99,7 +81,11 @@ const customFetch: typeof fetch = (input, init) => { }; export const loader = async (arg: LoaderFunctionArgs) => { - const authRoute = authenticateProductionRequest(arg.request); + const authRoute = authenticateProjectRequest( + arg.request, + authRoutes, + projectDomain + ); const url = new URL(arg.request.url); const host = @@ -259,7 +245,7 @@ export const action = async ({ }: ActionFunctionArgs): Promise< { success: true } | { success: false; errors: string[] } > => { - authenticateProductionRequest(request); + authenticateProjectRequest(request, authRoutes, projectDomain); try { const url = new URL(request.url); diff --git a/fixtures/webstudio-features/app/routes/[class-names]._index.tsx b/fixtures/webstudio-features/app/routes/[class-names]._index.tsx index 7f2aa62cd4..a4f111719f 100644 --- a/fixtures/webstudio-features/app/routes/[class-names]._index.tsx +++ b/fixtures/webstudio-features/app/routes/[class-names]._index.tsx @@ -18,7 +18,7 @@ import { formBotFieldName, cachedFetch, } from "@webstudio-is/sdk/runtime"; -import { authenticateRequest } from "@webstudio-is/wsauth"; +import { authenticateProjectRequest } from "@webstudio-is/wsauth"; import { ReactSdkContext, PageSettingsMeta, @@ -47,24 +47,6 @@ import { authRoutes } from "../__generated__/$resources.wsauth.server"; import { createGeneratedAssetResourceFetch } from "../__generated__/$resources.asset-query-runtime"; import { assetUrlsByPath } from "../__generated__/$resources.assets"; -const authenticateProductionRequest = (request: Request) => { - const host = - request.headers.get("x-forwarded-host") || - request.headers.get("host") || - ""; - - const requestHost = host.split(":")[0]; - if ( - projectDomain !== undefined && - (requestHost === projectDomain || - requestHost.startsWith(`${projectDomain}.`)) - ) { - return; - } - - return authenticateRequest(request, authRoutes); -}; - const customFetch: typeof fetch = (input, init) => { if (typeof input !== "string") { return cachedFetch(projectId, input, init); @@ -99,7 +81,11 @@ const customFetch: typeof fetch = (input, init) => { }; export const loader = async (arg: LoaderFunctionArgs) => { - const authRoute = authenticateProductionRequest(arg.request); + const authRoute = authenticateProjectRequest( + arg.request, + authRoutes, + projectDomain + ); const url = new URL(arg.request.url); const host = @@ -259,7 +245,7 @@ export const action = async ({ }: ActionFunctionArgs): Promise< { success: true } | { success: false; errors: string[] } > => { - authenticateProductionRequest(request); + authenticateProjectRequest(request, authRoutes, projectDomain); try { const url = new URL(request.url); diff --git a/fixtures/webstudio-features/app/routes/[content-block]._index.tsx b/fixtures/webstudio-features/app/routes/[content-block]._index.tsx index 1ff50feb37..cf1ded4d38 100644 --- a/fixtures/webstudio-features/app/routes/[content-block]._index.tsx +++ b/fixtures/webstudio-features/app/routes/[content-block]._index.tsx @@ -18,7 +18,7 @@ import { formBotFieldName, cachedFetch, } from "@webstudio-is/sdk/runtime"; -import { authenticateRequest } from "@webstudio-is/wsauth"; +import { authenticateProjectRequest } from "@webstudio-is/wsauth"; import { ReactSdkContext, PageSettingsMeta, @@ -47,24 +47,6 @@ import { authRoutes } from "../__generated__/$resources.wsauth.server"; import { createGeneratedAssetResourceFetch } from "../__generated__/$resources.asset-query-runtime"; import { assetUrlsByPath } from "../__generated__/$resources.assets"; -const authenticateProductionRequest = (request: Request) => { - const host = - request.headers.get("x-forwarded-host") || - request.headers.get("host") || - ""; - - const requestHost = host.split(":")[0]; - if ( - projectDomain !== undefined && - (requestHost === projectDomain || - requestHost.startsWith(`${projectDomain}.`)) - ) { - return; - } - - return authenticateRequest(request, authRoutes); -}; - const customFetch: typeof fetch = (input, init) => { if (typeof input !== "string") { return cachedFetch(projectId, input, init); @@ -99,7 +81,11 @@ const customFetch: typeof fetch = (input, init) => { }; export const loader = async (arg: LoaderFunctionArgs) => { - const authRoute = authenticateProductionRequest(arg.request); + const authRoute = authenticateProjectRequest( + arg.request, + authRoutes, + projectDomain + ); const url = new URL(arg.request.url); const host = @@ -259,7 +245,7 @@ export const action = async ({ }: ActionFunctionArgs): Promise< { success: true } | { success: false; errors: string[] } > => { - authenticateProductionRequest(request); + authenticateProjectRequest(request, authRoutes, projectDomain); try { const url = new URL(request.url); diff --git a/fixtures/webstudio-features/app/routes/[duration]._index.tsx b/fixtures/webstudio-features/app/routes/[duration]._index.tsx index 909a6572e8..909e3ae55b 100644 --- a/fixtures/webstudio-features/app/routes/[duration]._index.tsx +++ b/fixtures/webstudio-features/app/routes/[duration]._index.tsx @@ -18,7 +18,7 @@ import { formBotFieldName, cachedFetch, } from "@webstudio-is/sdk/runtime"; -import { authenticateRequest } from "@webstudio-is/wsauth"; +import { authenticateProjectRequest } from "@webstudio-is/wsauth"; import { ReactSdkContext, PageSettingsMeta, @@ -47,24 +47,6 @@ import { authRoutes } from "../__generated__/$resources.wsauth.server"; import { createGeneratedAssetResourceFetch } from "../__generated__/$resources.asset-query-runtime"; import { assetUrlsByPath } from "../__generated__/$resources.assets"; -const authenticateProductionRequest = (request: Request) => { - const host = - request.headers.get("x-forwarded-host") || - request.headers.get("host") || - ""; - - const requestHost = host.split(":")[0]; - if ( - projectDomain !== undefined && - (requestHost === projectDomain || - requestHost.startsWith(`${projectDomain}.`)) - ) { - return; - } - - return authenticateRequest(request, authRoutes); -}; - const customFetch: typeof fetch = (input, init) => { if (typeof input !== "string") { return cachedFetch(projectId, input, init); @@ -99,7 +81,11 @@ const customFetch: typeof fetch = (input, init) => { }; export const loader = async (arg: LoaderFunctionArgs) => { - const authRoute = authenticateProductionRequest(arg.request); + const authRoute = authenticateProjectRequest( + arg.request, + authRoutes, + projectDomain + ); const url = new URL(arg.request.url); const host = @@ -259,7 +245,7 @@ export const action = async ({ }: ActionFunctionArgs): Promise< { success: true } | { success: false; errors: string[] } > => { - authenticateProductionRequest(request); + authenticateProjectRequest(request, authRoutes, projectDomain); try { const url = new URL(request.url); diff --git a/fixtures/webstudio-features/app/routes/[expressions]._index.tsx b/fixtures/webstudio-features/app/routes/[expressions]._index.tsx index 226e775b15..f90a9adddc 100644 --- a/fixtures/webstudio-features/app/routes/[expressions]._index.tsx +++ b/fixtures/webstudio-features/app/routes/[expressions]._index.tsx @@ -18,7 +18,7 @@ import { formBotFieldName, cachedFetch, } from "@webstudio-is/sdk/runtime"; -import { authenticateRequest } from "@webstudio-is/wsauth"; +import { authenticateProjectRequest } from "@webstudio-is/wsauth"; import { ReactSdkContext, PageSettingsMeta, @@ -47,24 +47,6 @@ import { authRoutes } from "../__generated__/$resources.wsauth.server"; import { createGeneratedAssetResourceFetch } from "../__generated__/$resources.asset-query-runtime"; import { assetUrlsByPath } from "../__generated__/$resources.assets"; -const authenticateProductionRequest = (request: Request) => { - const host = - request.headers.get("x-forwarded-host") || - request.headers.get("host") || - ""; - - const requestHost = host.split(":")[0]; - if ( - projectDomain !== undefined && - (requestHost === projectDomain || - requestHost.startsWith(`${projectDomain}.`)) - ) { - return; - } - - return authenticateRequest(request, authRoutes); -}; - const customFetch: typeof fetch = (input, init) => { if (typeof input !== "string") { return cachedFetch(projectId, input, init); @@ -99,7 +81,11 @@ const customFetch: typeof fetch = (input, init) => { }; export const loader = async (arg: LoaderFunctionArgs) => { - const authRoute = authenticateProductionRequest(arg.request); + const authRoute = authenticateProjectRequest( + arg.request, + authRoutes, + projectDomain + ); const url = new URL(arg.request.url); const host = @@ -259,7 +245,7 @@ export const action = async ({ }: ActionFunctionArgs): Promise< { success: true } | { success: false; errors: string[] } > => { - authenticateProductionRequest(request); + authenticateProjectRequest(request, authRoutes, projectDomain); try { const url = new URL(request.url); diff --git a/fixtures/webstudio-features/app/routes/[form]._index.tsx b/fixtures/webstudio-features/app/routes/[form]._index.tsx index 5c49542397..d7d07788ff 100644 --- a/fixtures/webstudio-features/app/routes/[form]._index.tsx +++ b/fixtures/webstudio-features/app/routes/[form]._index.tsx @@ -18,7 +18,7 @@ import { formBotFieldName, cachedFetch, } from "@webstudio-is/sdk/runtime"; -import { authenticateRequest } from "@webstudio-is/wsauth"; +import { authenticateProjectRequest } from "@webstudio-is/wsauth"; import { ReactSdkContext, PageSettingsMeta, @@ -47,24 +47,6 @@ import { authRoutes } from "../__generated__/$resources.wsauth.server"; import { createGeneratedAssetResourceFetch } from "../__generated__/$resources.asset-query-runtime"; import { assetUrlsByPath } from "../__generated__/$resources.assets"; -const authenticateProductionRequest = (request: Request) => { - const host = - request.headers.get("x-forwarded-host") || - request.headers.get("host") || - ""; - - const requestHost = host.split(":")[0]; - if ( - projectDomain !== undefined && - (requestHost === projectDomain || - requestHost.startsWith(`${projectDomain}.`)) - ) { - return; - } - - return authenticateRequest(request, authRoutes); -}; - const customFetch: typeof fetch = (input, init) => { if (typeof input !== "string") { return cachedFetch(projectId, input, init); @@ -99,7 +81,11 @@ const customFetch: typeof fetch = (input, init) => { }; export const loader = async (arg: LoaderFunctionArgs) => { - const authRoute = authenticateProductionRequest(arg.request); + const authRoute = authenticateProjectRequest( + arg.request, + authRoutes, + projectDomain + ); const url = new URL(arg.request.url); const host = @@ -259,7 +245,7 @@ export const action = async ({ }: ActionFunctionArgs): Promise< { success: true } | { success: false; errors: string[] } > => { - authenticateProductionRequest(request); + authenticateProjectRequest(request, authRoutes, projectDomain); try { const url = new URL(request.url); diff --git a/fixtures/webstudio-features/app/routes/[head-tag]._index.tsx b/fixtures/webstudio-features/app/routes/[head-tag]._index.tsx index ccc195cfb3..b6b524925f 100644 --- a/fixtures/webstudio-features/app/routes/[head-tag]._index.tsx +++ b/fixtures/webstudio-features/app/routes/[head-tag]._index.tsx @@ -18,7 +18,7 @@ import { formBotFieldName, cachedFetch, } from "@webstudio-is/sdk/runtime"; -import { authenticateRequest } from "@webstudio-is/wsauth"; +import { authenticateProjectRequest } from "@webstudio-is/wsauth"; import { ReactSdkContext, PageSettingsMeta, @@ -47,24 +47,6 @@ import { authRoutes } from "../__generated__/$resources.wsauth.server"; import { createGeneratedAssetResourceFetch } from "../__generated__/$resources.asset-query-runtime"; import { assetUrlsByPath } from "../__generated__/$resources.assets"; -const authenticateProductionRequest = (request: Request) => { - const host = - request.headers.get("x-forwarded-host") || - request.headers.get("host") || - ""; - - const requestHost = host.split(":")[0]; - if ( - projectDomain !== undefined && - (requestHost === projectDomain || - requestHost.startsWith(`${projectDomain}.`)) - ) { - return; - } - - return authenticateRequest(request, authRoutes); -}; - const customFetch: typeof fetch = (input, init) => { if (typeof input !== "string") { return cachedFetch(projectId, input, init); @@ -99,7 +81,11 @@ const customFetch: typeof fetch = (input, init) => { }; export const loader = async (arg: LoaderFunctionArgs) => { - const authRoute = authenticateProductionRequest(arg.request); + const authRoute = authenticateProjectRequest( + arg.request, + authRoutes, + projectDomain + ); const url = new URL(arg.request.url); const host = @@ -259,7 +245,7 @@ export const action = async ({ }: ActionFunctionArgs): Promise< { success: true } | { success: false; errors: string[] } > => { - authenticateProductionRequest(request); + authenticateProjectRequest(request, authRoutes, projectDomain); try { const url = new URL(request.url); diff --git a/fixtures/webstudio-features/app/routes/[heading-with-id]._index.tsx b/fixtures/webstudio-features/app/routes/[heading-with-id]._index.tsx index e1855271c6..1272e7473c 100644 --- a/fixtures/webstudio-features/app/routes/[heading-with-id]._index.tsx +++ b/fixtures/webstudio-features/app/routes/[heading-with-id]._index.tsx @@ -18,7 +18,7 @@ import { formBotFieldName, cachedFetch, } from "@webstudio-is/sdk/runtime"; -import { authenticateRequest } from "@webstudio-is/wsauth"; +import { authenticateProjectRequest } from "@webstudio-is/wsauth"; import { ReactSdkContext, PageSettingsMeta, @@ -47,24 +47,6 @@ import { authRoutes } from "../__generated__/$resources.wsauth.server"; import { createGeneratedAssetResourceFetch } from "../__generated__/$resources.asset-query-runtime"; import { assetUrlsByPath } from "../__generated__/$resources.assets"; -const authenticateProductionRequest = (request: Request) => { - const host = - request.headers.get("x-forwarded-host") || - request.headers.get("host") || - ""; - - const requestHost = host.split(":")[0]; - if ( - projectDomain !== undefined && - (requestHost === projectDomain || - requestHost.startsWith(`${projectDomain}.`)) - ) { - return; - } - - return authenticateRequest(request, authRoutes); -}; - const customFetch: typeof fetch = (input, init) => { if (typeof input !== "string") { return cachedFetch(projectId, input, init); @@ -99,7 +81,11 @@ const customFetch: typeof fetch = (input, init) => { }; export const loader = async (arg: LoaderFunctionArgs) => { - const authRoute = authenticateProductionRequest(arg.request); + const authRoute = authenticateProjectRequest( + arg.request, + authRoutes, + projectDomain + ); const url = new URL(arg.request.url); const host = @@ -259,7 +245,7 @@ export const action = async ({ }: ActionFunctionArgs): Promise< { success: true } | { success: false; errors: string[] } > => { - authenticateProductionRequest(request); + authenticateProjectRequest(request, authRoutes, projectDomain); try { const url = new URL(request.url); diff --git a/fixtures/webstudio-features/app/routes/[nested].[nested-page]._index.tsx b/fixtures/webstudio-features/app/routes/[nested].[nested-page]._index.tsx index 602132621b..961336c954 100644 --- a/fixtures/webstudio-features/app/routes/[nested].[nested-page]._index.tsx +++ b/fixtures/webstudio-features/app/routes/[nested].[nested-page]._index.tsx @@ -18,7 +18,7 @@ import { formBotFieldName, cachedFetch, } from "@webstudio-is/sdk/runtime"; -import { authenticateRequest } from "@webstudio-is/wsauth"; +import { authenticateProjectRequest } from "@webstudio-is/wsauth"; import { ReactSdkContext, PageSettingsMeta, @@ -47,24 +47,6 @@ import { authRoutes } from "../__generated__/$resources.wsauth.server"; import { createGeneratedAssetResourceFetch } from "../__generated__/$resources.asset-query-runtime"; import { assetUrlsByPath } from "../__generated__/$resources.assets"; -const authenticateProductionRequest = (request: Request) => { - const host = - request.headers.get("x-forwarded-host") || - request.headers.get("host") || - ""; - - const requestHost = host.split(":")[0]; - if ( - projectDomain !== undefined && - (requestHost === projectDomain || - requestHost.startsWith(`${projectDomain}.`)) - ) { - return; - } - - return authenticateRequest(request, authRoutes); -}; - const customFetch: typeof fetch = (input, init) => { if (typeof input !== "string") { return cachedFetch(projectId, input, init); @@ -99,7 +81,11 @@ const customFetch: typeof fetch = (input, init) => { }; export const loader = async (arg: LoaderFunctionArgs) => { - const authRoute = authenticateProductionRequest(arg.request); + const authRoute = authenticateProjectRequest( + arg.request, + authRoutes, + projectDomain + ); const url = new URL(arg.request.url); const host = @@ -259,7 +245,7 @@ export const action = async ({ }: ActionFunctionArgs): Promise< { success: true } | { success: false; errors: string[] } > => { - authenticateProductionRequest(request); + authenticateProjectRequest(request, authRoutes, projectDomain); try { const url = new URL(request.url); diff --git a/fixtures/webstudio-features/app/routes/[radix]._index.tsx b/fixtures/webstudio-features/app/routes/[radix]._index.tsx index 1f41b92a9a..a42230882e 100644 --- a/fixtures/webstudio-features/app/routes/[radix]._index.tsx +++ b/fixtures/webstudio-features/app/routes/[radix]._index.tsx @@ -18,7 +18,7 @@ import { formBotFieldName, cachedFetch, } from "@webstudio-is/sdk/runtime"; -import { authenticateRequest } from "@webstudio-is/wsauth"; +import { authenticateProjectRequest } from "@webstudio-is/wsauth"; import { ReactSdkContext, PageSettingsMeta, @@ -47,24 +47,6 @@ import { authRoutes } from "../__generated__/$resources.wsauth.server"; import { createGeneratedAssetResourceFetch } from "../__generated__/$resources.asset-query-runtime"; import { assetUrlsByPath } from "../__generated__/$resources.assets"; -const authenticateProductionRequest = (request: Request) => { - const host = - request.headers.get("x-forwarded-host") || - request.headers.get("host") || - ""; - - const requestHost = host.split(":")[0]; - if ( - projectDomain !== undefined && - (requestHost === projectDomain || - requestHost.startsWith(`${projectDomain}.`)) - ) { - return; - } - - return authenticateRequest(request, authRoutes); -}; - const customFetch: typeof fetch = (input, init) => { if (typeof input !== "string") { return cachedFetch(projectId, input, init); @@ -99,7 +81,11 @@ const customFetch: typeof fetch = (input, init) => { }; export const loader = async (arg: LoaderFunctionArgs) => { - const authRoute = authenticateProductionRequest(arg.request); + const authRoute = authenticateProjectRequest( + arg.request, + authRoutes, + projectDomain + ); const url = new URL(arg.request.url); const host = @@ -259,7 +245,7 @@ export const action = async ({ }: ActionFunctionArgs): Promise< { success: true } | { success: false; errors: string[] } > => { - authenticateProductionRequest(request); + authenticateProjectRequest(request, authRoutes, projectDomain); try { const url = new URL(request.url); diff --git a/fixtures/webstudio-features/app/routes/[resources]._index.tsx b/fixtures/webstudio-features/app/routes/[resources]._index.tsx index 6ce7f5c574..3463441899 100644 --- a/fixtures/webstudio-features/app/routes/[resources]._index.tsx +++ b/fixtures/webstudio-features/app/routes/[resources]._index.tsx @@ -18,7 +18,7 @@ import { formBotFieldName, cachedFetch, } from "@webstudio-is/sdk/runtime"; -import { authenticateRequest } from "@webstudio-is/wsauth"; +import { authenticateProjectRequest } from "@webstudio-is/wsauth"; import { ReactSdkContext, PageSettingsMeta, @@ -47,24 +47,6 @@ import { authRoutes } from "../__generated__/$resources.wsauth.server"; import { createGeneratedAssetResourceFetch } from "../__generated__/$resources.asset-query-runtime"; import { assetUrlsByPath } from "../__generated__/$resources.assets"; -const authenticateProductionRequest = (request: Request) => { - const host = - request.headers.get("x-forwarded-host") || - request.headers.get("host") || - ""; - - const requestHost = host.split(":")[0]; - if ( - projectDomain !== undefined && - (requestHost === projectDomain || - requestHost.startsWith(`${projectDomain}.`)) - ) { - return; - } - - return authenticateRequest(request, authRoutes); -}; - const customFetch: typeof fetch = (input, init) => { if (typeof input !== "string") { return cachedFetch(projectId, input, init); @@ -99,7 +81,11 @@ const customFetch: typeof fetch = (input, init) => { }; export const loader = async (arg: LoaderFunctionArgs) => { - const authRoute = authenticateProductionRequest(arg.request); + const authRoute = authenticateProjectRequest( + arg.request, + authRoutes, + projectDomain + ); const url = new URL(arg.request.url); const host = @@ -259,7 +245,7 @@ export const action = async ({ }: ActionFunctionArgs): Promise< { success: true } | { success: false; errors: string[] } > => { - authenticateProductionRequest(request); + authenticateProjectRequest(request, authRoutes, projectDomain); try { const url = new URL(request.url); diff --git a/fixtures/webstudio-features/app/routes/[sitemap.xml]._index.tsx b/fixtures/webstudio-features/app/routes/[sitemap.xml]._index.tsx index 49757f0670..5d3782a866 100644 --- a/fixtures/webstudio-features/app/routes/[sitemap.xml]._index.tsx +++ b/fixtures/webstudio-features/app/routes/[sitemap.xml]._index.tsx @@ -1,7 +1,7 @@ import { renderToString } from "react-dom/server"; import { type LoaderFunctionArgs, redirect } from "react-router"; import { isLocalResource, loadResources } from "@webstudio-is/sdk/runtime"; -import { authenticateRequest } from "@webstudio-is/wsauth"; +import { authenticateProjectRequest } from "@webstudio-is/wsauth"; import { ReactSdkContext, xmlNodeTagSuffix, @@ -21,24 +21,6 @@ import { sitemap } from "../__generated__/$resources.sitemap.xml"; import { authRoutes } from "../__generated__/$resources.wsauth.server"; import { createGeneratedAssetResourceFetch } from "../__generated__/$resources.asset-query-runtime"; -const authenticateProductionRequest = (request: Request) => { - const host = - request.headers.get("x-forwarded-host") || - request.headers.get("host") || - ""; - - const requestHost = host.split(":")[0]; - if ( - projectDomain !== undefined && - (requestHost === projectDomain || - requestHost.startsWith(`${projectDomain}.`)) - ) { - return; - } - - return authenticateRequest(request, authRoutes); -}; - const customFetch: typeof fetch = (input, init) => { if (typeof input !== "string") { return fetch(input, init); @@ -73,7 +55,11 @@ const customFetch: typeof fetch = (input, init) => { }; export const loader = async (arg: LoaderFunctionArgs) => { - const authRoute = authenticateProductionRequest(arg.request); + const authRoute = authenticateProjectRequest( + arg.request, + authRoutes, + projectDomain + ); const url = new URL(arg.request.url); const host = diff --git a/fixtures/webstudio-features/app/routes/[text-duration]._index.tsx b/fixtures/webstudio-features/app/routes/[text-duration]._index.tsx index 53d35450d4..549651834d 100644 --- a/fixtures/webstudio-features/app/routes/[text-duration]._index.tsx +++ b/fixtures/webstudio-features/app/routes/[text-duration]._index.tsx @@ -18,7 +18,7 @@ import { formBotFieldName, cachedFetch, } from "@webstudio-is/sdk/runtime"; -import { authenticateRequest } from "@webstudio-is/wsauth"; +import { authenticateProjectRequest } from "@webstudio-is/wsauth"; import { ReactSdkContext, PageSettingsMeta, @@ -47,24 +47,6 @@ import { authRoutes } from "../__generated__/$resources.wsauth.server"; import { createGeneratedAssetResourceFetch } from "../__generated__/$resources.asset-query-runtime"; import { assetUrlsByPath } from "../__generated__/$resources.assets"; -const authenticateProductionRequest = (request: Request) => { - const host = - request.headers.get("x-forwarded-host") || - request.headers.get("host") || - ""; - - const requestHost = host.split(":")[0]; - if ( - projectDomain !== undefined && - (requestHost === projectDomain || - requestHost.startsWith(`${projectDomain}.`)) - ) { - return; - } - - return authenticateRequest(request, authRoutes); -}; - const customFetch: typeof fetch = (input, init) => { if (typeof input !== "string") { return cachedFetch(projectId, input, init); @@ -99,7 +81,11 @@ const customFetch: typeof fetch = (input, init) => { }; export const loader = async (arg: LoaderFunctionArgs) => { - const authRoute = authenticateProductionRequest(arg.request); + const authRoute = authenticateProjectRequest( + arg.request, + authRoutes, + projectDomain + ); const url = new URL(arg.request.url); const host = @@ -259,7 +245,7 @@ export const action = async ({ }: ActionFunctionArgs): Promise< { success: true } | { success: false; errors: string[] } > => { - authenticateProductionRequest(request); + authenticateProjectRequest(request, authRoutes, projectDomain); try { const url = new URL(request.url); diff --git a/fixtures/webstudio-features/app/routes/_index.tsx b/fixtures/webstudio-features/app/routes/_index.tsx index 34b4765781..13c1e1d5b2 100644 --- a/fixtures/webstudio-features/app/routes/_index.tsx +++ b/fixtures/webstudio-features/app/routes/_index.tsx @@ -18,7 +18,7 @@ import { formBotFieldName, cachedFetch, } from "@webstudio-is/sdk/runtime"; -import { authenticateRequest } from "@webstudio-is/wsauth"; +import { authenticateProjectRequest } from "@webstudio-is/wsauth"; import { ReactSdkContext, PageSettingsMeta, @@ -47,24 +47,6 @@ import { authRoutes } from "../__generated__/$resources.wsauth.server"; import { createGeneratedAssetResourceFetch } from "../__generated__/$resources.asset-query-runtime"; import { assetUrlsByPath } from "../__generated__/$resources.assets"; -const authenticateProductionRequest = (request: Request) => { - const host = - request.headers.get("x-forwarded-host") || - request.headers.get("host") || - ""; - - const requestHost = host.split(":")[0]; - if ( - projectDomain !== undefined && - (requestHost === projectDomain || - requestHost.startsWith(`${projectDomain}.`)) - ) { - return; - } - - return authenticateRequest(request, authRoutes); -}; - const customFetch: typeof fetch = (input, init) => { if (typeof input !== "string") { return cachedFetch(projectId, input, init); @@ -99,7 +81,11 @@ const customFetch: typeof fetch = (input, init) => { }; export const loader = async (arg: LoaderFunctionArgs) => { - const authRoute = authenticateProductionRequest(arg.request); + const authRoute = authenticateProjectRequest( + arg.request, + authRoutes, + projectDomain + ); const url = new URL(arg.request.url); const host = @@ -259,7 +245,7 @@ export const action = async ({ }: ActionFunctionArgs): Promise< { success: true } | { success: false; errors: string[] } > => { - authenticateProductionRequest(request); + authenticateProjectRequest(request, authRoutes, projectDomain); try { const url = new URL(request.url);