Class RegexRule
- java.lang.Object
-
- org.eclipse.jetty.rewrite.handler.Rule
-
- org.eclipse.jetty.rewrite.handler.RegexRule
-
- Direct Known Subclasses:
HeaderRegexRule
,RedirectRegexRule
,RewriteRegexRule
,TerminatingRegexRule
public abstract class RegexRule extends Rule
Abstract rule to use as a base class for rules that match with a regular expression.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.eclipse.jetty.rewrite.handler.Rule
Rule.ApplyURI
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.regex.Pattern
_regex
-
Fields inherited from class org.eclipse.jetty.rewrite.handler.Rule
_handling, _terminating
-
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract 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.java.lang.String
getRegex()
java.lang.String
matchAndApply(java.lang.String target, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
This method calls tests the rule against the request/response pair and if the Rule applies, then the rule's action is triggered.void
setRegex(java.lang.String regex)
Sets the regular expression string used to match with string URI.java.lang.String
toString()
Returns the regular expression string.-
Methods inherited from class org.eclipse.jetty.rewrite.handler.Rule
isHandling, isTerminating, setHandling, setTerminating
-
-
-
-
Method Detail
-
setRegex
public void setRegex(java.lang.String regex)
Sets the regular expression string used to match with string URI.- Parameters:
regex
- the regular expression.
-
getRegex
public java.lang.String getRegex()
- Returns:
- get the regular expression
-
matchAndApply
public java.lang.String matchAndApply(java.lang.String target, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws java.io.IOException
Description copied from class:Rule
This method calls tests the rule against the request/response pair and if the Rule applies, then the rule's action is triggered.- Specified by:
matchAndApply
in classRule
- Parameters:
target
- The target of the requestrequest
- the requestresponse
- the response- Returns:
- The new target if the rule has matched, else null
- Throws:
java.io.IOException
- if unable to match the rule
-
apply
protected abstract 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
Apply this rule to the request/response pair. Called bymatchAndApply(String, HttpServletRequest, HttpServletResponse)
if the regex matches.- 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
-
-