fix(client): allow req middlewares to run on empty init

This commit is contained in:
2026-03-15 16:54:45 +00:00
parent f0a4c095b9
commit 924236181b

View File

@@ -24,10 +24,11 @@ export class ApiClient {
this.middlewares = middlewares
}
async request<T>(...[url, init]: Parameters<typeof fetch>): Promise<[Response, T]> {
const finalInit = init
? this.middlewares.reduce((prevInit, middleware) => middleware(url, prevInit), init)
: undefined
async request<T>(...[url, init = {}]: Parameters<typeof fetch>): Promise<[Response, T]> {
const finalInit = this.middlewares.reduce(
(prevInit, middleware) => middleware(url, prevInit),
init,
)
return fetch(url instanceof Request ? url : new URL(url, this.baseUrl), finalInit).then((res) =>
Promise.all([Promise.resolve(res), res.json()]),
)