Class BroadleafRequestFilter

java.lang.Object
org.springframework.web.filter.GenericFilterBean
org.springframework.web.filter.OncePerRequestFilter
org.broadleafcommerce.common.web.filter.AbstractIgnorableOncePerRequestFilter
org.broadleafcommerce.common.web.BroadleafRequestFilter
All Implemented Interfaces:
jakarta.servlet.Filter, org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanNameAware, org.springframework.beans.factory.DisposableBean, org.springframework.beans.factory.InitializingBean, org.springframework.context.EnvironmentAware, org.springframework.core.env.EnvironmentCapable, org.springframework.core.Ordered, org.springframework.web.context.ServletContextAware

@Component("blRequestFilter") @ConditionalOnNotAdmin public class BroadleafRequestFilter extends AbstractIgnorableOncePerRequestFilter
Responsible for setting up the site and locale used by Broadleaf Commerce components.
Author:
bpolster
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
     
    static String
    Parameter/Attribute name for the current language
     

    Fields inherited from class org.springframework.web.filter.OncePerRequestFilter

    ALREADY_FILTERED_SUFFIX

    Fields inherited from class org.springframework.web.filter.GenericFilterBean

    logger

    Fields inherited from interface org.springframework.core.Ordered

    HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    doFilterInternalUnlessIgnored(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, jakarta.servlet.FilterChain filterChain)
     
    protected Set
    Returns a set of suffixes that can be ignored by content processing.
    int
     
    protected boolean
     
    protected boolean
    shouldProcessURL(jakarta.servlet.http.HttpServletRequest request, String requestURI)
    Determines if the passed in URL should be processed by the content management system.
    protected boolean
    shouldProcessURL(jakarta.servlet.http.HttpServletRequest request, String requestURI, boolean ignoreSessionCheck)
     

    Methods inherited from class org.broadleafcommerce.common.web.filter.AbstractIgnorableOncePerRequestFilter

    doFilterInternal, isIgnored

    Methods inherited from class org.springframework.web.filter.OncePerRequestFilter

    doFilter, doFilterNestedErrorDispatch, getAlreadyFilteredAttributeName, isAsyncDispatch, isAsyncStarted, shouldNotFilter, shouldNotFilterAsyncDispatch

    Methods inherited from class org.springframework.web.filter.GenericFilterBean

    addRequiredProperty, afterPropertiesSet, createEnvironment, destroy, getEnvironment, getFilterConfig, getFilterName, getServletContext, init, initBeanWrapper, initFilterBean, setBeanName, setEnvironment, setServletContext

    Methods inherited from class java.lang.Object

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

    • ADMIN_USER_ID_PARAM_NAME

      public static final String ADMIN_USER_ID_PARAM_NAME
      See Also:
    • REQUEST_DTO_PARAM_NAME

      public static String REQUEST_DTO_PARAM_NAME
      Parameter/Attribute name for the current language
    • requestProcessor

      @Autowired @Qualifier("blRequestProcessor") protected BroadleafRequestProcessor requestProcessor
  • Constructor Details

    • BroadleafRequestFilter

      public BroadleafRequestFilter()
  • Method Details

    • doFilterInternalUnlessIgnored

      protected void doFilterInternalUnlessIgnored(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, jakarta.servlet.FilterChain filterChain) throws IOException, jakarta.servlet.ServletException
      Specified by:
      doFilterInternalUnlessIgnored in class AbstractIgnorableOncePerRequestFilter
      Throws:
      IOException
      jakarta.servlet.ServletException
    • shouldProcessURL

      protected boolean shouldProcessURL(jakarta.servlet.http.HttpServletRequest request, String requestURI)
      Determines if the passed in URL should be processed by the content management system.

      By default, this method returns false for any BLC-Admin URLs and service calls and for all common image/digital mime-types (as determined by an internal call to getIgnoreSuffixes.

      This check is called with the doFilterInternal method to short-circuit the content processing which can be expensive for requests that do not require it.

      Parameters:
      requestURI - - the HttpServletRequest.getRequestURI
      Returns:
      true if the HttpServletRequest should be processed
    • shouldProcessURL

      protected boolean shouldProcessURL(jakarta.servlet.http.HttpServletRequest request, String requestURI, boolean ignoreSessionCheck)
    • getIgnoreSuffixes

      protected Set getIgnoreSuffixes()
      Returns a set of suffixes that can be ignored by content processing. The following are returned:

      List of suffixes ignored:

      ".aif", ".aiff", ".asf", ".avi", ".bin", ".bmp", ".doc", ".eps", ".gif", ".hqx", ".jpg", ".jpeg", ".mid", ".midi", ".mov", ".mp3", ".mpg", ".mpeg", ".p65", ".pdf", ".pic", ".pict", ".png", ".ppt", ".psd", ".qxd", ".ram", ".ra", ".rm", ".sea", ".sit", ".stk", ".swf", ".tif", ".tiff", ".txt", ".rtf", ".vob", ".wav", ".wmf", ".xls", ".zip";

      Returns:
      set of suffixes to ignore.
    • shouldNotFilterErrorDispatch

      protected boolean shouldNotFilterErrorDispatch()
      Overrides:
      shouldNotFilterErrorDispatch in class org.springframework.web.filter.OncePerRequestFilter
    • getOrder

      public int getOrder()