Class RequestQueryFilter

java.lang.Object
thredds.servlet.filter.RequestQueryFilter
All Implemented Interfaces:
jakarta.servlet.Filter

public class RequestQueryFilter extends Object implements jakarta.servlet.Filter
Reject any request with an invalid query string.

The query string is considered valid if, after decoding, it is a single-line string. For more details, see StringValidateEncodeUtils.validSingleLineString(String) validSingleLineString()}.

Note: Currently also rejecting strings that contain any less than ("<"), greater than (">"), or backslash ("\") characters. [May loosen this restriction later.]

Note: HttpServletRequest.getQueryString()) is not decoded by default so we run it through URLDecoder.decode().

Since:
3.16.47
See Also:
  • Constructor Details

    • RequestQueryFilter

      public RequestQueryFilter()
  • Method Details

    • setAllowAngleBrackets

      public void setAllowAngleBrackets(boolean allowAngleBrackets) throws jakarta.servlet.ServletException
      Throws:
      jakarta.servlet.ServletException
    • destroy

      public void destroy()
      Specified by:
      destroy in interface jakarta.servlet.Filter
    • init

      public void init(jakarta.servlet.FilterConfig filterConfig) throws jakarta.servlet.ServletException
      Specified by:
      init in interface jakarta.servlet.Filter
      Throws:
      jakarta.servlet.ServletException
    • doFilter

      public void doFilter(jakarta.servlet.ServletRequest servletRequest, jakarta.servlet.ServletResponse servletResponse, jakarta.servlet.FilterChain filterChain) throws IOException, jakarta.servlet.ServletException
      Specified by:
      doFilter in interface jakarta.servlet.Filter
      Throws:
      IOException
      jakarta.servlet.ServletException