diff --git a/lib/api/index.ts b/lib/api/index.ts index 900889549..5c14968e6 100644 --- a/lib/api/index.ts +++ b/lib/api/index.ts @@ -23,11 +23,10 @@ export async function get( options: RequestOptionsWithOutBody, params?: URLSearchParams ) { - defaultOptions.method = "GET" const url = new URL( `${env.API_BASEURL}/${endpoint}${params ? `?${params.toString()}` : ""}` ) - return fetch(url, merge(defaultOptions, options)) + return fetch(url, merge.all([defaultOptions, { method: "GET" }, options])) } export async function patch( @@ -35,11 +34,13 @@ export async function patch( options: RequestOptionsWithJSONBody ) { const { body, ...requestOptions } = options - defaultOptions.body = JSON.stringify(body) - defaultOptions.method = "PATCH" return fetch( `${env.API_BASEURL}/${endpoint}`, - merge(defaultOptions, requestOptions) + merge.all([ + defaultOptions, + { body: JSON.stringify(body), method: "PATCH" }, + requestOptions, + ]) ) } @@ -48,11 +49,13 @@ export async function post( options: RequestOptionsWithJSONBody ) { const { body, ...requestOptions } = options - defaultOptions.body = JSON.stringify(body) - defaultOptions.method = "POST" return fetch( `${env.API_BASEURL}/${endpoint}`, - merge(defaultOptions, requestOptions) + merge.all([ + defaultOptions, + { body: JSON.stringify(body), method: "POST" }, + requestOptions, + ]) ) } @@ -60,6 +63,8 @@ export async function remove( endpoint: Endpoint, options: RequestOptionsWithOutBody ) { - defaultOptions.method = "DELETE" - return fetch(`${env.API_BASEURL}/${endpoint}`, merge(defaultOptions, options)) + return fetch( + `${env.API_BASEURL}/${endpoint}`, + merge.all([defaultOptions, { method: "DELETE" }, options]) + ) }