Compare commits

...

2 Commits

2 changed files with 13 additions and 0 deletions

View File

@@ -60,6 +60,10 @@ class ChargeController(
servletRequest: HttpServletRequest
): PayverseWebhookResponse {
val remoteIp = servletRequest.remoteAddr ?: ""
print("Payverse Webhook Request: $remoteIp")
print("Payverse Webhook Request: $payverseInboundIp")
if (remoteIp != payverseInboundIp) {
throw ResponseStatusException(HttpStatus.NOT_FOUND)
}

View File

@@ -3,6 +3,7 @@ package kr.co.vividnext.sodalive.common
import org.slf4j.LoggerFactory
import org.springframework.dao.DataIntegrityViolationException
import org.springframework.http.HttpStatus
import org.springframework.http.ResponseEntity
import org.springframework.security.access.AccessDeniedException
import org.springframework.security.authentication.BadCredentialsException
import org.springframework.security.authentication.InternalAuthenticationServiceException
@@ -10,6 +11,7 @@ import org.springframework.web.bind.annotation.ExceptionHandler
import org.springframework.web.bind.annotation.ResponseStatus
import org.springframework.web.bind.annotation.RestControllerAdvice
import org.springframework.web.multipart.MaxUploadSizeExceededException
import org.springframework.web.server.ResponseStatusException
@RestControllerAdvice
class SodaExceptionHandler {
@@ -24,6 +26,13 @@ class SodaExceptionHandler {
)
}
// ResponseStatusException은 ApiResponse로 래핑하지 않고 그대로 전달
@ExceptionHandler(ResponseStatusException::class)
fun handleResponseStatusException(e: ResponseStatusException): ResponseEntity<Void> {
// 별도 바디 없이 상태코드만 반환하여 기본 예외 형태를 유지
return ResponseEntity.status(e.status).build()
}
@ExceptionHandler(MaxUploadSizeExceededException::class)
fun handleMaxUploadSizeExceededException(e: MaxUploadSizeExceededException) = run {
logger.error("API error", e)