diff --git a/apps/desktop/layer/main/src/manager/bootstrap.ts b/apps/desktop/layer/main/src/manager/bootstrap.ts index e0293aabf..71bad3bba 100644 --- a/apps/desktop/layer/main/src/manager/bootstrap.ts +++ b/apps/desktop/layer/main/src/manager/bootstrap.ts @@ -137,6 +137,7 @@ export class BootstrapManager { details.requestHeaders = buildSafeHeaders({ url: details.url, headers: details.requestHeaders, + method: details.method, }) callback({ cancel: false, requestHeaders: details.requestHeaders }) diff --git a/packages/internal/utils/src/headers.ts b/packages/internal/utils/src/headers.ts index 76bd55c97..a49056cde 100644 --- a/packages/internal/utils/src/headers.ts +++ b/packages/internal/utils/src/headers.ts @@ -4,7 +4,15 @@ import { imageRefererMatches } from "./img-proxy" export const createBuildSafeHeaders = (webUrl: string, selfRefererMatches: string[]) => - ({ url, headers = {} }: { url: string; headers?: Record }) => { + ({ + url, + headers = {}, + method, + }: { + url: string + headers?: Record + method?: string + }) => { // user agent if (headers["User-Agent"]) { headers["User-Agent"] = headers["User-Agent"] @@ -15,6 +23,12 @@ export const createBuildSafeHeaders = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36" } + if (method?.toUpperCase() === "OPTIONS") { + headers.Referer = "app://folo.is" + headers.Origin = "app://folo.is" + return headers + } + // referer and origin if (selfRefererMatches.filter((i) => !!i).some((item) => url.startsWith(item))) { headers.Referer = webUrl