@zerovoids/http-transport-ky
v0.1.2
Published
ky-based Transport for @zerovoids/http
Readme
@zerovoids/http-transport-ky
ky-based transport — drop-in replacement for default fetch
Install · Usage · 소유권 규칙 · 메인 리포
소개
ky 기반 Transport — @zerovoids/http 의 기본 fetchTransport 대체용. 한 줄로 교체, core 파이프라인의 소유권은 완전히 유지.
📦 Install
pnpm add @zerovoids/http-transport-ky @zerovoids/http ky🚀 Usage
import { createClient } from "@zerovoids/http";
import { kyTransport } from "@zerovoids/http-transport-ky";
const api = createClient({
adapters,
transport: kyTransport(),
});커스텀 ky 인스턴스 주입:
import ky from "ky";
const k = ky.create({ fetch: customFetch /* 공용 cookie jar 등 */ });
createClient({ adapters, transport: kyTransport({ ky: k }) });⚙️ 소유권 규칙
kyTransport 는 다음을 내부적으로 비활성화 합니다 — 모두 core 파이프라인이 소유:
retry: 0— retry / backoff / jitter / Retry-After 는 coreRetryStrategy가 처리timeout: false— timeout 은 coretimeoutSignal+AbortSignal.any조합 담당throwHttpErrors: false— 4xx/5xx 는 coreerrorMap→NormalizedError변환
따라서 ky.hooks 도 사용하지 마세요. Plugin API (init / onRequest / onResponse) 를 쓰면 됩니다.
🚫 prefixUrl / searchParams 금지
URL 합성 (composePath + serializeQuery) 은 core 가 모두 담당. ky 의 prefixUrl / searchParams 를 중복 설정하면 충돌. adapters[*].baseURL 한 곳에만 지정하세요.
🔗 관련 링크
- 메인 README — 전체 생태계 소개
- @zerovoids/http-transport-axios — axios 기반 대안 (upload/download progress 필요 시)
License
MIT © zerovoids
