PR #21 코드 리뷰에서 도출된 제안 사항 모음.
1. webhook/sender.go — HTTP 클라이언트 재사용
Send() 호출마다 새 http.Client를 생성해 커넥션 재사용이 불가합니다.
output별 TLS 설정을 지원하면서 공유 클라이언트를 사용하는 방식으로 개선을 권장합니다.
파일: internal/adapter/output/webhook/sender.go
2. router.go — placeholder 라우트 응답 코드
GET /inputs/{inputId}/messages/{messageId}가 현재 200 OK (healthz 핸들러)를 반환합니다.
API 사용자 혼란 방지를 위해 501 Not Implemented를 반환하도록 수정해야 합니다.
파일: internal/adapter/input/http/router.go:57
3. domain/input_type.go — IsValid() 하드코딩
IsValid()가 BESZEL, DOZZLE, GENERIC 3개 타입만 검사합니다.
범용 릴레이 컨셉과 불일치하므로 제거하거나 개방형 가정(open-world assumption)을 채택해야 합니다.
파일: internal/domain/input_type.go
4. 테스트 보완
- TCP 1MiB 크기 제한 경계값 테스트 (
internal/adapter/input/tcp/listener_test.go)
buildEvalData에서 ParsedData 키가 내장 키(id, input 등)와 충돌할 때의 우선순위 테스트 (internal/application/service/relay_worker_test.go)
관련 PR: #21
PR #21 코드 리뷰에서 도출된 제안 사항 모음.
1.
webhook/sender.go— HTTP 클라이언트 재사용Send()호출마다 새http.Client를 생성해 커넥션 재사용이 불가합니다.output별 TLS 설정을 지원하면서 공유 클라이언트를 사용하는 방식으로 개선을 권장합니다.
파일:
internal/adapter/output/webhook/sender.go2.
router.go— placeholder 라우트 응답 코드GET /inputs/{inputId}/messages/{messageId}가 현재200 OK(healthz 핸들러)를 반환합니다.API 사용자 혼란 방지를 위해
501 Not Implemented를 반환하도록 수정해야 합니다.파일:
internal/adapter/input/http/router.go:573.
domain/input_type.go—IsValid()하드코딩IsValid()가BESZEL,DOZZLE,GENERIC3개 타입만 검사합니다.범용 릴레이 컨셉과 불일치하므로 제거하거나 개방형 가정(open-world assumption)을 채택해야 합니다.
파일:
internal/domain/input_type.go4. 테스트 보완
internal/adapter/input/tcp/listener_test.go)buildEvalData에서 ParsedData 키가 내장 키(id,input등)와 충돌할 때의 우선순위 테스트 (internal/application/service/relay_worker_test.go)관련 PR: #21