Class RewriteRegexRule
- java.lang.Object
-
- org.eclipse.jetty.rewrite.handler.Rule
-
- org.eclipse.jetty.rewrite.handler.RegexRule
-
- org.eclipse.jetty.rewrite.handler.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
-
-
Field Summary
-
Fields inherited from class org.eclipse.jetty.rewrite.handler.Rule
_handling, _terminating
-
-
Constructor Summary
Constructors Constructor Description RewriteRegexRule()
RewriteRegexRule(java.lang.String regex, java.lang.String replacement)
-
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 org.eclipse.jetty.rewrite.handler.RegexRule
getRegex, matchAndApply, setRegex
-
Methods inherited from class org.eclipse.jetty.rewrite.handler.Rule
isHandling, isTerminating, setHandling, setTerminating
-
-
-
-
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 byRegexRule.matchAndApply(String, HttpServletRequest, HttpServletResponse)
if the regex matches.- Specified by:
apply
in classRegexRule
- Parameters:
target
- field to attempt matchrequest
- request objectresponse
- response objectmatcher
- 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 interfaceRule.ApplyURI
- Throws:
java.io.IOException
-
-