Composable fetch middlewares - includes core utilities and all official middlewares.
npm install qfetch
import {
compose,
withAuthorization,
withBaseUrl,
withHeaders,
withQueryParams,
withRetryAfter,
withRetryStatus,
} from "qfetch";
const qfetch = compose(
withRetryStatus({ statuses: [500, 502, 503] }),
withRetryAfter(),
withHeaders({ "Content-Type": "application/json" }),
withBaseUrl("https://api.example.com")
)(fetch);
// Use like regular fetch
const response = await qfetch("/users");
compose, pipeline - middleware composition utilitieswithAuthorization - Add authorization headers with token refreshwithBaseUrl - Prepend base URL to requestswithHeaders - Add default headers to requestswithQueryParams - Add query parameters to request URLswithRetryAfter - Retry requests based on Retry-After headerwithRetryStatus - Retry requests based on HTTP status codesIf you only need specific functionality, install individual packages:
@qfetch/core - Core composition utilities@qfetch/middleware-authorization@qfetch/middleware-base-url@qfetch/middleware-headers@qfetch/middleware-query-params@qfetch/middleware-retry-after@qfetch/middleware-retry-status@qfetch/middlewares - All middlewares without coreMIT