본문으로 건너뛰기

DenchConfig

간략한 설명

요청 빌더 내부에서 URL, RequestInit, 오류 콜백, timeout 및 중단 컨트롤러를 관리하는 설정 타입입니다.

타입 정의

interface DenchOptions extends RequestInit {
method: string;
credentials?: HTTPCredentials;
signal?: AbortSignal;
headers?: Record<string, string>;
body?: BodyInit;
cache?: HTTPCache;
mode?: HTTPMode;
redirect?: HTTPRedirect;
referrerPolicy?: HTTPReferrerPolicy;
}

interface DenchBaseConfig {
baseURL: string;
api: string;
errorcallback?: (error: unknown) => void;
URLNormalize: DenchURLNormalizeMode;
options: DenchOptions;
}

interface DenchConfig extends DenchBaseConfig {
abortController?: AbortController;
timeout?: number;
}

DenchConfig에는 제너릭이 없습니다. DenchOptionsDenchBaseConfig는 공개 export 타입이 아니지만, 상속되는 프로퍼티를 설명하기 위해 함께 표시합니다.

프로퍼티

PropertyTypeRequiredDescription
baseURLstringYes요청 URL의 기본 부분입니다.
apistringYesbase URL 뒤에 결합할 API 경로입니다.
errorcallback(error: unknown) => voidNo요청 오류가 발생했을 때 실행할 콜백입니다.
URLNormalizeDenchURLNormalizeModeYes요청 실행 시 적용할 URL 정규화 모드입니다.
optionsDenchOptionsYes실제 fetch()에 전달되는 RequestInit 설정입니다.
abortControllerAbortControllerNo요청 중단 및 timeout 처리에 사용할 컨트롤러입니다.
timeoutnumberNo요청 제한 시간입니다. 단위는 밀리초입니다.

options 프로퍼티

PropertyTypeRequiredDescription
methodstringYesHTTP 요청 메서드입니다.
credentialsHTTPCredentialsNoFetch credentials 정책입니다.
signalAbortSignalNo요청 중단 signal입니다.
headersRecord<string, string>No요청 Header입니다.
bodyBodyInitNo요청 body입니다.
cacheHTTPCacheNoHTTP 캐시 정책입니다.
modeHTTPModeNo요청 mode입니다.
redirectHTTPRedirectNo리다이렉트 처리 정책입니다.
referrerPolicyHTTPReferrerPolicyNoreferrer 정책입니다.

DenchOptionsRequestInit을 확장하므로 표에 없는 네이티브 RequestInit 프로퍼티도 타입상 사용할 수 있습니다.

사용처

  • denchfetcher(url, config?)의 선택적 설정 매개변수입니다.
  • 내부 runfetch(), toJson(), toFormData() 실행 함수에서 사용됩니다.
  • 모든 요청 설정 메서드가 DenchConfig를 읽거나 새로운 설정을 반환합니다.
  • DenchBuilder.config는 공개 타입상 DenchBaseConfig이므로 abortControllertimeout은 해당 프로퍼티 타입에서 직접 노출되지 않습니다.
import type { DenchConfig } from 'dench-fetch';