Browse Source

add rawProxiedFetch

pull/292/head
JORDAAR 3 years ago committed by GitHub
parent
commit
bcff5a8972
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 35
      src/backend/helpers/fetch.ts

35
src/backend/helpers/fetch.ts

@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
import { ofetch } from "ofetch";
import { FetchOptions, FetchResponse, ofetch } from "ofetch";
import { conf } from "@/setup/config";
@ -59,3 +59,36 @@ export function proxiedFetch<T>(url: string, ops: P<T>[1] = {}): R<T> { @@ -59,3 +59,36 @@ export function proxiedFetch<T>(url: string, ops: P<T>[1] = {}): R<T> {
},
});
}
export function rawProxiedFetch<T>(
url: string,
ops: FetchOptions = {}
): Promise<FetchResponse<T>> {
let combinedUrl = ops?.baseURL ?? "";
if (
combinedUrl.length > 0 &&
combinedUrl.endsWith("/") &&
url.startsWith("/")
)
combinedUrl += url.slice(1);
else if (
combinedUrl.length > 0 &&
!combinedUrl.endsWith("/") &&
!url.startsWith("/")
)
combinedUrl += `/${url}`;
else combinedUrl += url;
const parsedUrl = new URL(combinedUrl);
Object.entries(ops?.params ?? {}).forEach(([k, v]) => {
parsedUrl.searchParams.set(k, v);
});
return baseFetch.raw(getProxyUrl(), {
...ops,
baseURL: undefined,
params: {
destination: parsedUrl.toString(),
},
});
}

Loading…
Cancel
Save