Class CorsFilter

  • All Implemented Interfaces:
    javax.ws.rs.container.ContainerRequestFilter, javax.ws.rs.container.ContainerResponseFilter

    @PreMatching
    public class CorsFilter
    extends java.lang.Object
    implements javax.ws.rs.container.ContainerRequestFilter, javax.ws.rs.container.ContainerResponseFilter
    Handles CORS requests both preflight and simple CORS requests. You must bind this as a singleton and set up allowedOrigins and other settings to use.
    Version:
    $Revision: 1 $
    • Constructor Summary

      Constructors 
      Constructor Description
      CorsFilter()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void checkOrigin​(javax.ws.rs.container.ContainerRequestContext requestContext, java.lang.String origin)  
      void filter​(javax.ws.rs.container.ContainerRequestContext requestContext)  
      void filter​(javax.ws.rs.container.ContainerRequestContext requestContext, javax.ws.rs.container.ContainerResponseContext responseContext)  
      java.lang.String getAllowedHeaders()  
      java.lang.String getAllowedMethods()
      Will allow all by default
      java.util.Set<java.lang.String> getAllowedOrigins()
      Put "*" if you want to accept all origins
      int getCorsMaxAge()  
      java.lang.String getExposedHeaders()  
      boolean isAllowCredentials()
      Defaults to true
      protected void preflight​(java.lang.String origin, javax.ws.rs.container.ContainerRequestContext requestContext)  
      void setAllowCredentials​(boolean allowCredentials)  
      void setAllowedHeaders​(java.lang.String allowedHeaders)
      Will allow all by default comma delimited string for Access-Control-Allow-Headers
      void setAllowedMethods​(java.lang.String allowedMethods)
      Will allow all by default comma delimited string for Access-Control-Allow-Methods
      void setCorsMaxAge​(int corsMaxAge)  
      void setExposedHeaders​(java.lang.String exposedHeaders)
      comma delimited list
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • allowCredentials

        protected boolean allowCredentials
      • allowedMethods

        protected java.lang.String allowedMethods
      • allowedHeaders

        protected java.lang.String allowedHeaders
      • exposedHeaders

        protected java.lang.String exposedHeaders
      • corsMaxAge

        protected int corsMaxAge
      • allowedOrigins

        protected java.util.Set<java.lang.String> allowedOrigins
    • Constructor Detail

      • CorsFilter

        public CorsFilter()
    • Method Detail

      • getAllowedOrigins

        public java.util.Set<java.lang.String> getAllowedOrigins()
        Put "*" if you want to accept all origins
        Returns:
      • isAllowCredentials

        public boolean isAllowCredentials()
        Defaults to true
        Returns:
      • setAllowCredentials

        public void setAllowCredentials​(boolean allowCredentials)
      • getAllowedMethods

        public java.lang.String getAllowedMethods()
        Will allow all by default
        Returns:
      • setAllowedMethods

        public void setAllowedMethods​(java.lang.String allowedMethods)
        Will allow all by default comma delimited string for Access-Control-Allow-Methods
        Parameters:
        allowedMethods -
      • getAllowedHeaders

        public java.lang.String getAllowedHeaders()
      • setAllowedHeaders

        public void setAllowedHeaders​(java.lang.String allowedHeaders)
        Will allow all by default comma delimited string for Access-Control-Allow-Headers
        Parameters:
        allowedHeaders -
      • getCorsMaxAge

        public int getCorsMaxAge()
      • setCorsMaxAge

        public void setCorsMaxAge​(int corsMaxAge)
      • getExposedHeaders

        public java.lang.String getExposedHeaders()
      • setExposedHeaders

        public void setExposedHeaders​(java.lang.String exposedHeaders)
        comma delimited list
        Parameters:
        exposedHeaders -
      • filter

        public void filter​(javax.ws.rs.container.ContainerRequestContext requestContext)
                    throws java.io.IOException
        Specified by:
        filter in interface javax.ws.rs.container.ContainerRequestFilter
        Throws:
        java.io.IOException
      • filter

        public void filter​(javax.ws.rs.container.ContainerRequestContext requestContext,
                           javax.ws.rs.container.ContainerResponseContext responseContext)
                    throws java.io.IOException
        Specified by:
        filter in interface javax.ws.rs.container.ContainerResponseFilter
        Throws:
        java.io.IOException
      • preflight

        protected void preflight​(java.lang.String origin,
                                 javax.ws.rs.container.ContainerRequestContext requestContext)
                          throws java.io.IOException
        Throws:
        java.io.IOException
      • checkOrigin

        protected void checkOrigin​(javax.ws.rs.container.ContainerRequestContext requestContext,
                                   java.lang.String origin)