Class RewriteRegexRule

  • All Implemented Interfaces:
    Rule.ApplyURI

    public class RewriteRegexRule
    extends RegexRule
    implements Rule.ApplyURI
    Rewrite the URI by matching with a regular expression. The replacement string may use $n" to replace the nth capture group. If the replacement string contains ? character, then it is split into a path and query string component. The replacement query string may also contain $Q, which is replaced with the original query string. The returned target contains only the path.
    • Nested Class Summary

      • Nested classes/interfaces inherited from class org.eclipse.jetty.rewrite.handler.Rule

        Rule.ApplyURI
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String apply​(java.lang.String target, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.util.regex.Matcher matcher)
      Apply this rule to the request/response pair.
      void applyURI​(Request request, java.lang.String oldURI, java.lang.String newURI)  
      void setReplacement​(java.lang.String replacement)
      Whenever a match is found, it replaces with this value.
      java.lang.String toString()
      Returns the replacement string.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • RewriteRegexRule

        public RewriteRegexRule()
      • RewriteRegexRule

        public RewriteRegexRule​(@Name("regex")
                                java.lang.String regex,
                                @Name("replacement")
                                java.lang.String replacement)
    • Method Detail

      • setReplacement

        public void setReplacement​(java.lang.String replacement)
        Whenever a match is found, it replaces with this value.
        Parameters:
        replacement - the replacement string.
      • apply

        public java.lang.String apply​(java.lang.String target,
                                      javax.servlet.http.HttpServletRequest request,
                                      javax.servlet.http.HttpServletResponse response,
                                      java.util.regex.Matcher matcher)
                               throws java.io.IOException
        Description copied from class: RegexRule
        Apply this rule to the request/response pair. Called by RegexRule.matchAndApply(String, HttpServletRequest, HttpServletResponse) if the regex matches.
        Specified by:
        apply in class RegexRule
        Parameters:
        target - field to attempt match
        request - request object
        response - response object
        matcher - The Regex matcher that matched the request (with capture groups available for replacement).
        Returns:
        The target (possible updated).
        Throws:
        java.io.IOException - exceptions dealing with operating on request or response objects
      • applyURI

        public void applyURI​(Request request,
                             java.lang.String oldURI,
                             java.lang.String newURI)
                      throws java.io.IOException
        Specified by:
        applyURI in interface Rule.ApplyURI
        Throws:
        java.io.IOException
      • toString

        public java.lang.String toString()
        Returns the replacement string.
        Overrides:
        toString in class RegexRule