Class RegexRequestMatcher

java.lang.Object
org.springframework.security.web.util.matcher.RegexRequestMatcher
All Implemented Interfaces:
RequestMatcher

public final class RegexRequestMatcher extends Object implements RequestMatcher
Uses a regular expression to decide whether a supplied the URL of a supplied HttpServletRequest. Can also be configured to match a specific HTTP method. The match is performed against the servletPath + pathInfo + queryString of the request and is case-sensitive by default. Case-insensitive matching can be used by using the constructor which takes the caseInsensitive argument.
Since:
3.1
  • Constructor Details

    • RegexRequestMatcher

      public RegexRequestMatcher(String pattern, String httpMethod)
      Creates a case-sensitive Pattern instance to match against the request.
      Parameters:
      pattern - the regular expression to compile into a pattern.
      httpMethod - the HTTP method to match. May be null to match all methods.
    • RegexRequestMatcher

      public RegexRequestMatcher(String pattern, String httpMethod, boolean caseInsensitive)
      As above, but allows setting of whether case-insensitive matching should be used.
      Parameters:
      pattern - the regular expression to compile into a pattern.
      httpMethod - the HTTP method to match. May be null to match all methods.
      caseInsensitive - if true, the pattern will be compiled with the Pattern.CASE_INSENSITIVE flag set.
  • Method Details

    • regexMatcher

      public static RegexRequestMatcher regexMatcher(String pattern)
      Creates a case-sensitive Pattern instance to match against the request.
      Parameters:
      pattern - the regular expression to compile into a pattern.
      Since:
      5.8
    • regexMatcher

      public static RegexRequestMatcher regexMatcher(org.springframework.http.HttpMethod method)
      Creates an instance that matches to all requests with the same HttpMethod.
      Parameters:
      method - the HTTP method to match. Must not be null.
      Since:
      5.8
    • regexMatcher

      public static RegexRequestMatcher regexMatcher(org.springframework.http.HttpMethod method, String pattern)
      Creates a case-sensitive Pattern instance to match against the request.
      Parameters:
      method - the HTTP method to match. May be null to match all methods.
      pattern - the regular expression to compile into a pattern.
      Since:
      5.8
    • matches

      public boolean matches(jakarta.servlet.http.HttpServletRequest request)
      Performs the match of the request URL (servletPath + pathInfo + queryString ) against the compiled pattern. If the query string is present, a question mark will be prepended.
      Specified by:
      matches in interface RequestMatcher
      Parameters:
      request - the request to match
      Returns:
      true if the pattern matches the URL, false otherwise.
    • toString

      public String toString()
      Overrides:
      toString in class Object