콘텐츠로 이동

NestWebhookRequest — @gj-kit/toss-payments-nestjs

@gj-kit/toss-payments-nestjs에서 공개하는 type입니다. package version 0.4.4의 release declaration을 그대로 표시합니다.

import { NestWebhookRequest } from '@gj-kit/toss-payments-nestjs';
/**
* toNestWebhookHandler — Nest 컨트롤러에서 코어 웹훅 어댑터를 rawBody 강제와 함께
* 사용하는 헬퍼 (설계 §4.2, G9).
*
* Nest의 기본 body-parser가 JSON을 선파싱하면 서명/secret 검증이 전멸한다 — 이 헬퍼는
* `NestFactory.create(AppModule, { rawBody: true })` 전제로 `req.rawBody`만 신뢰하고,
* 부재 시 핸들러를 실행하지 않고 **명시적 500 + 설정 안내 로그**를 남긴다(조용한 검증
* 전멸 방지 — 400 응답이 반복되며 원인을 못 찾는 사고를 차단).
*/
/**
* Express/Fastify의 IncomingMessage와 구조 호환인 최소 요청 형태 —
* 코어의 NodeIncomingMessageLike(구조적 타입)를 재사용해 `node:http` 타입 결합을 피한다.
* `RawBodyRequest<Request>`(Express)·`RawBodyRequest<FastifyRequest['raw']>` 모두 충족.
*/
type NestWebhookRequest = RawBodyRequest<NodeIncomingMessageLike>;

이 선언은 매개변수, optionality, 제네릭, 반환값, 공개 union/type 계약의 정본입니다. 호출 전 필요한 환경·권한·오류 경계는 패키지 Golden path와 이 subpath의 import 조건을 함께 확인하세요.

  • 패키지: @gj-kit/toss-payments-nestjs
  • 버전: 0.4.4
  • 공개 entry: .
  • 소스: GitHub

Express/Fastify의 IncomingMessage와 구조 호환인 최소 요청 형태 — 코어의 NodeIncomingMessageLike(구조적 타입)를 재사용해 node:http 타입 결합을 피한다. RawBodyRequest<Request>(Express)·RawBodyRequest<FastifyRequest['raw']> 모두 충족.