mirror of
https://github.com/hanzo-docs/docs.git
synced 2026-10-25 04:20:02 +00:00
OpenAPI: Add custom request timeout (#2415)
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'fumadocs-openapi': minor
|
||||
---
|
||||
|
||||
OpenAPI: Custom request timeout for API playground
|
||||
@@ -107,6 +107,10 @@ export interface ClientProps extends HTMLAttributes<HTMLFormElement> {
|
||||
references: Record<string, RequestSchema>;
|
||||
proxyUrl?: string;
|
||||
|
||||
/**
|
||||
* Request timeout in seconds (default: 10s)
|
||||
*/
|
||||
requestTimeout?: number;
|
||||
fields?: {
|
||||
parameter?: CustomField<
|
||||
`${ParameterField['in']}.${string}`,
|
||||
@@ -145,6 +149,7 @@ export default function Client({
|
||||
references,
|
||||
proxyUrl,
|
||||
components: { ResultDisplay = DefaultResultDisplay } = {},
|
||||
requestTimeout = 10,
|
||||
...rest
|
||||
}: ClientProps) {
|
||||
const { server } = useServerSelectContext();
|
||||
@@ -172,7 +177,7 @@ export default function Client({
|
||||
|
||||
const testQuery = useQuery(async (input: FormValues) => {
|
||||
const fetcher = await import('./fetcher').then((mod) =>
|
||||
mod.createBrowserFetcher(mediaAdapters),
|
||||
mod.createBrowserFetcher(mediaAdapters, requestTimeout),
|
||||
);
|
||||
|
||||
input._encoded ??= encodeRequestData(
|
||||
|
||||
@@ -22,6 +22,7 @@ export interface Fetcher {
|
||||
|
||||
export function createBrowserFetcher(
|
||||
adapters: Record<string, MediaAdapter>,
|
||||
requestTimeout: number,
|
||||
): Fetcher {
|
||||
return {
|
||||
async fetch(url, options) {
|
||||
@@ -81,7 +82,7 @@ export function createBrowserFetcher(
|
||||
cache: 'no-cache',
|
||||
headers,
|
||||
body,
|
||||
signal: AbortSignal.timeout(10 * 1000),
|
||||
signal: AbortSignal.timeout(requestTimeout * 1000),
|
||||
})
|
||||
.then(async (res) => {
|
||||
const contentType = res.headers.get('Content-Type') ?? '';
|
||||
|
||||
Reference in New Issue
Block a user