Skip to content

Instantly share code, notes, and snippets.

@reaperes
Created May 20, 2020 02:58
Show Gist options
  • Save reaperes/eae0be799093234c5cdba132aa41fd88 to your computer and use it in GitHub Desktop.
Save reaperes/eae0be799093234c5cdba132aa41fd88 to your computer and use it in GitHub Desktop.
// It's test code. Not working yet.
@Component
class CORSFilter : Filter {
@Value("${cmdb.cors.allowedDomainPattern}")
lateinit var allowedDomainPattern: String
override fun doFilter(request: ServletRequest, response: ServletResponse, chain: FilterChain) {
val res = response as HttpServletResponse
if (!request.serverName.matches(allowedDomainPattern.toRegex())) {
res.addHeader(HttpHeaders.VARY, "Origin")
return
}
val allowedOrigin = "${request.scheme}://${request.serverName}:${request.serverPort}"
res.addHeader(HttpHeaders.ACCESS_CONTROL_ALLOW_ORIGIN, allowedOrigin)
chain.doFilter(request, response)
}
override fun destroy() {}
override fun init(filterConfig: FilterConfig?) {}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment