Skip to content

Commit a910d0e

Browse files
committed
Allow client option for custom dispatcher into fetch requests (e.g. to disable certificate validation) openapi-ts#1631
1 parent 8c350ab commit a910d0e

File tree

5 files changed

+4686
-3797
lines changed

5 files changed

+4686
-3797
lines changed

package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
"@changesets/cli": "^2.27.1",
2121
"del-cli": "^5.1.0",
2222
"prettier": "^3.2.5",
23-
"typescript": "^5.4.5"
23+
"typescript": "^5.4.5",
24+
"undici": "^6.14.1"
2425
}
2526
}

packages/openapi-fetch/src/index.d.ts

+2
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ import type {
1515
export interface ClientOptions extends Omit<RequestInit, "headers"> {
1616
/** set the common root URL for all API requests */
1717
baseUrl?: string;
18+
/** custom dispatcher */
19+
dispatcher?: unknown;
1820
/** custom fetch (defaults to globalThis.fetch) */
1921
fetch?: (request: Request) => ReturnType<typeof fetch>;
2022
/** global querySerializer */

packages/openapi-fetch/src/index.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ const PATH_PARAM_RE = /\{[^{}]+\}/g;
1212
export default function createClient(clientOptions) {
1313
let {
1414
baseUrl = "",
15+
dispatcher = undefined,
1516
fetch: baseFetch = globalThis.fetch,
1617
querySerializer: globalQuerySerializer,
1718
bodySerializer: globalBodySerializer,
@@ -91,7 +92,7 @@ export default function createClient(clientOptions) {
9192
}
9293

9394
// fetch!
94-
let response = await fetch(request);
95+
let response = await fetch(request, dispatcher ? { dispatcher } : undefined);
9596

9697
// middleware (response)
9798
// execute in reverse-array order (first priority gets last transform)

0 commit comments

Comments
 (0)