FetchHandlerOptions — @gj-kit/toss-payments
@gj-kit/toss-payments/webhook에서 공개하는 interface입니다. package version 0.6.1의 release declaration을 그대로 표시합니다.
검증된 import 예제
섹션 제목: “검증된 import 예제”import { FetchHandlerOptions } from '@gj-kit/toss-payments/webhook';시그니처, 매개변수, 반환 타입
섹션 제목: “시그니처, 매개변수, 반환 타입”/** * 프레임워크 어댑터 — fetchHandler(Next.js Route Handler / Hono) + nodeHandler(Express). * * raw body 보존·검증·dedupe·처리 claim 수명주기를 라이브러리가 소유한다. * 검증 거부는 400, body 상한 초과는 413, store 장애와 이미 처리 중인 전달은 503으로 재전송을 유도한다. * duplicate는 정상 200 ack — 400을 돌려주면 3일 19시간 재전송 폭탄을 맞는다. */interface FetchHandlerOptions { /** * 수신 raw body의 최대 바이트 수. 기본 256 KiB. * * Content-Length가 이 값을 넘으면 body를 읽기 전에 413을 반환하고, 길이 헤더가 * 없거나 거짓이어도 스트림을 이 값까지만 누적한다. webhook payload는 작아야 하므로 * 앱의 reverse proxy/body-parser 제한과 같은 값으로 맞추는 것을 권장한다. */ readonly maxBodyBytes?: number; /** * 신뢰할 수 있는 런타임/ingress 메타데이터에서 원본 클라이언트 IP를 추출한다. * X-Forwarded-For를 무조건 믿지 말고, 해당 ingress가 재작성한 값만 사용할 것. */ readonly sourceIp?: (request: Request) => string | null | undefined;}이 선언은 매개변수, optionality, 제네릭, 반환값, 공개 union/type 계약의 정본입니다. 호출 전 필요한 환경·권한·오류 경계는 패키지 Golden path와 이 subpath의 import 조건을 함께 확인하세요.
Release context
섹션 제목: “Release context”- 패키지:
@gj-kit/toss-payments - 버전:
0.6.1 - 공개 entry:
./webhook - 소스: GitHub
구현 주석
섹션 제목: “구현 주석”프레임워크 어댑터 — fetchHandler(Next.js Route Handler / Hono) + nodeHandler(Express).
raw body 보존·검증·dedupe·처리 claim 수명주기를 라이브러리가 소유한다. 검증 거부는 400, body 상한 초과는 413, store 장애와 이미 처리 중인 전달은 503으로 재전송을 유도한다. duplicate는 정상 200 ack — 400을 돌려주면 3일 19시간 재전송 폭탄을 맞는다.