캔 사용 시 국가 코드 기록 기능 추가
CloudFront-Viewer-Country 헤더를 통해 국가 코드를 수집하고 캔 사용 내역(UseCan) 저장 시 함께 기록하도록 수정 요청별 국가 정보 관리를 위한 컨텍스트와 인터셉터를 구현
This commit is contained in:
@@ -0,0 +1,15 @@
|
||||
package kr.co.vividnext.sodalive.common
|
||||
|
||||
import org.springframework.stereotype.Component
|
||||
import org.springframework.web.context.annotation.RequestScope
|
||||
|
||||
@Component
|
||||
@RequestScope
|
||||
class CountryContext {
|
||||
var countryCode: String? = null
|
||||
internal set
|
||||
|
||||
fun setCountryCode(code: String?) {
|
||||
this.countryCode = code
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package kr.co.vividnext.sodalive.common
|
||||
|
||||
import org.springframework.stereotype.Component
|
||||
import org.springframework.web.servlet.HandlerInterceptor
|
||||
import javax.servlet.http.HttpServletRequest
|
||||
import javax.servlet.http.HttpServletResponse
|
||||
|
||||
@Component
|
||||
class CountryInterceptor(
|
||||
private val countryContext: CountryContext
|
||||
) : HandlerInterceptor {
|
||||
override fun preHandle(
|
||||
request: HttpServletRequest,
|
||||
response: HttpServletResponse,
|
||||
handler: Any
|
||||
): Boolean {
|
||||
val countryCode = request.getHeader("CloudFront-Viewer-Country")
|
||||
countryContext.setCountryCode(countryCode)
|
||||
return true
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user