Kotlin / kotlin-examples

Various examples for Kotlin
3.2k stars 1.04k forks source link

Unable to implement @WebFilter #123

Open shivangtripathii opened 4 years ago

shivangtripathii commented 4 years ago

Trying this: import java.io.IOException import javax.servlet.* import javax.servlet.annotation.WebFilter

/* / @WebFilter(urlPatterns = ["/"]) class SimpleServletFilter(private var filterConfig: FilterConfig) : Filter {

@Throws(ServletException::class)
override fun init(filterConfig: FilterConfig) {
    print("init called..")
    this.filterConfig = filterConfig;
}

@Throws(IOException::class, ServletException::class)
override fun doFilter(
    request: ServletRequest, response: ServletResponse,
    filterChain: FilterChain
) {
    println("here..")
}

override fun destroy() {}

}

but the request does not pass through the filter.

Also tried:

import javax.ws.rs.container.ContainerRequestContext
import javax.ws.rs.container.ContainerResponseContext
import javax.ws.rs.container.ContainerResponseFilter
import javax.ws.rs.ext.Provider

@Provider
class CORSFilter : ContainerResponseFilter {
    override fun filter(requestContext: ContainerRequestContext?, responseContext: ContainerResponseContext?) {
        responseContext!!.headers.add("Access-Control-Allow-Origin", "*")
        responseContext.headers.add("Access-Control-Allow-Headers", "origin, content-type, accept, authorization")
        responseContext.headers.add("Access-Control-Allow-Credentials", "true")
        responseContext.headers.add("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS, HEAD")
        responseContext.headers.add("Access-Control-Max-Age", "1209600")
    }
}

No luck there.