fix: 3차 리뷰 LOW — 에러 메시지 일관성, Redis 타임아웃, 입력 검증
Some checks failed
Server CI/CD / lint-and-build (push) Failing after 30s
Server CI/CD / deploy (push) Has been skipped

- 5개 핸들러 err.Error() → 제네릭 메시지 (Login, Refresh, SSAFY, Ticket, BossRaid)
- Redis context.Background() → WithTimeout 5s (10곳)
- SprintMultiplier 범위 검증 추가
- 방어적 문서화 (SSAFY 충돌, zip bomb, body limit prefix, 로그 주입)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-15 19:05:17 +09:00
parent 9504bf37de
commit 423e2832a0
7 changed files with 51 additions and 20 deletions

View File

@@ -40,7 +40,7 @@ func (h *Handler) RequestEntry(c *fiber.Ctx) error {
room, err := h.svc.RequestEntry(req.Usernames, req.BossID)
if err != nil {
return bossError(c, fiber.StatusConflict, err.Error(), err)
return bossError(c, fiber.StatusConflict, "보스 레이드 입장에 실패했습니다", err)
}
return c.Status(fiber.StatusCreated).JSON(fiber.Map{
@@ -67,7 +67,7 @@ func (h *Handler) StartRaid(c *fiber.Ctx) error {
room, err := h.svc.StartRaid(req.SessionName)
if err != nil {
return bossError(c, fiber.StatusBadRequest, err.Error(), err)
return bossError(c, fiber.StatusBadRequest, "레이드 시작에 실패했습니다", err)
}
return c.JSON(fiber.Map{
@@ -93,7 +93,7 @@ func (h *Handler) CompleteRaid(c *fiber.Ctx) error {
room, results, err := h.svc.CompleteRaid(req.SessionName, req.Rewards)
if err != nil {
return bossError(c, fiber.StatusBadRequest, err.Error(), err)
return bossError(c, fiber.StatusBadRequest, "레이드 완료 처리에 실패했습니다", err)
}
return c.JSON(fiber.Map{
@@ -119,7 +119,7 @@ func (h *Handler) FailRaid(c *fiber.Ctx) error {
room, err := h.svc.FailRaid(req.SessionName)
if err != nil {
return bossError(c, fiber.StatusBadRequest, err.Error(), err)
return bossError(c, fiber.StatusBadRequest, "레이드 실패 처리에 실패했습니다", err)
}
return c.JSON(fiber.Map{
@@ -175,7 +175,7 @@ func (h *Handler) RequestEntryAuth(c *fiber.Ctx) error {
room, tokens, err := h.svc.RequestEntryWithTokens(req.Usernames, req.BossID)
if err != nil {
return bossError(c, fiber.StatusConflict, err.Error(), err)
return bossError(c, fiber.StatusConflict, "보스 레이드 입장에 실패했습니다", err)
}
return c.Status(fiber.StatusCreated).JSON(fiber.Map{