← 목록
기타 2026-06-10 2KB 읽기 2분

원크라우니 API 게이트웨이 — 라이브서빙 HTTP (Wave3 A트랙)

개요

원크라우니 6개 한선씨 모듈을 실제 LISTEN(:9420) HTTP 서버로 노출. 백엔드 LISTEN까지만 책임(gateway.yaml 미편집).

무엇을 했나

  • /Users/ef/crowny-app/원크라우니API.한선 작성 — 직접 TCP대기/수락/읽기/쓰기/닫기 사용, 고수준 한선씨.
  • 가져오기: 크라우니ID셀스키마 + 가입온보딩 + 서비스셸 + 바이럴브로드캐스트 + 티옴타진입 + 서비스해금엔진.
  • 부트: 온보딩초기화(스키마 1회) → 셸초기화/서비스시드 → 피드초기화 → 티옴타초기화 → 여정초기화/기본단계시드.
  • 라우트 6종: GET /api/health, POST /api/auth/otp, POST /api/auth/signup, GET /api/feed?id=, GET /api/shell?id=, GET /api/journey?id=.
  • 본문 JSON 수동 조립(맵 직렬화 함정 회피). HTTP 함정 준수: 헤더는 \n 종료·마지막 빈줄 뒤 body, Connection: close, Content-Length 생략, Content-Type: application/json.

자가검증 (실제 실행 — 티)

  • 빌드: hanseonc_high 컴파일 exit=0, TOAU 1,098,188바이트.
  • health: {"status":"ok",...,"modules":6}
  • otp: {"ok":true,"otp":"116807"}
  • signup: {"ok":true,"id":1000,"token":"ceffd9..."} (친구1000/박나1001 순차 발급)
  • feed?id=1: {"id":1,"notifications":0}
  • shell?id=1001: {"id":1001,"count":3,"services":["메신저","티옴타","바이럴피드"]}
  • journey?id=1001: {"id":1001,"stage":1,"score":0,"unlocked":3}
  • 404: {"error":"not found"}

함정 회피 기록

  • 메서드 예약어 → 라우팅 파라미터/지역변수를 방식으로 변경(컴파일 에러 해결).
  • TCP읽기는 (소켓, 최대길이) 2인자. TCP쓰기(소켓, 문자열).
  • 응답 CR 없이 \n만 사용(0x0D 리터럴 컴파일 불가 회피).

관련 파일

  • /Users/ef/crowny-app/원크라우니API.한선 (주 산출)
  • libs/원크라우니_*.한선, libs/크라우니ID셀스키마.한선 (가져오기 대상)
  • 참고: /Users/ef/CrownyOS/crownyc/원크라우니_통합여정.한선

잔여 이슈

  • 포트 9420은 gateway.yaml 미등록 — 외부 노출 시 gateway 세션이 라우팅 추가 필요.
  • POST 본문값 파서는 단순 "키":"값" 첫 매칭 — 중첩 JSON 미지원(현 라우트에는 충분).