public class RewriteValve extends ValveBase
Lifecycle.SingleUse
Modifier and Type | Field and Description |
---|---|
protected boolean |
context
Will be set to true if the valve is associated with a context.
|
protected boolean |
enabled
enabled this component
|
protected ThreadLocal<Boolean> |
invoked
If rewriting occurs, the whole request will be processed again.
|
protected Map<String,RewriteMap> |
maps
Maps to be used by the rules.
|
protected ArrayList<String> |
mapsConfiguration
Maps configuration.
|
protected String |
resourcePath
Relative path to the configuration file.
|
protected RewriteRule[] |
rules
The rewrite rules that the valve will use.
|
asyncSupported, container, containerLog, next, sm
mserver
AFTER_DESTROY_EVENT, AFTER_INIT_EVENT, AFTER_START_EVENT, AFTER_STOP_EVENT, BEFORE_DESTROY_EVENT, BEFORE_INIT_EVENT, BEFORE_START_EVENT, BEFORE_STOP_EVENT, CONFIGURE_START_EVENT, CONFIGURE_STOP_EVENT, PERIODIC_EVENT, START_EVENT, STOP_EVENT
Constructor and Description |
---|
RewriteValve() |
Modifier and Type | Method and Description |
---|---|
protected File |
getConfigBase() |
String |
getConfiguration() |
boolean |
getEnabled() |
protected String |
getHostConfigPath(String resourceName)
Find the configuration path where the rewrite configuration file
will be stored.
|
protected void |
initInternal()
Sub-classes wishing to perform additional initialization should override
this method, ensuring that super.initInternal() is the first call in the
overriding method.
|
void |
invoke(Request request,
Response response)
Perform request processing as required by this Valve.
|
protected void |
parse(BufferedReader reader) |
static Object |
parse(String line)
This factory method will parse a line formed like:
Example:
RewriteCond %{REMOTE_HOST} ^host1.* [OR]
|
protected static void |
parseCondFlag(String line,
RewriteCond condition,
String flag)
Parser for RewriteCond flags.
|
protected static void |
parseRuleFlag(String line,
RewriteRule rule,
String flag)
Parser for RewriteRule flags.
|
void |
setConfiguration(String configuration) |
void |
setEnabled(boolean enabled) |
protected void |
startInternal()
Start this component and implement the requirements
of
LifecycleBase.startInternal() . |
protected void |
stopInternal()
Stop this component and implement the requirements
of
LifecycleBase.stopInternal() . |
backgroundProcess, getContainer, getDomainInternal, getNext, getObjectNameKeyProperties, isAsyncSupported, setAsyncSupported, setContainer, setNext, toString
destroyInternal, getDomain, getObjectName, postDeregister, postRegister, preDeregister, preRegister, register, setDomain, unregister
addLifecycleListener, destroy, findLifecycleListeners, fireLifecycleEvent, getState, getStateName, getThrowOnFailure, init, removeLifecycleListener, setState, setState, setThrowOnFailure, start, stop
protected RewriteRule[] rules
protected ThreadLocal<Boolean> invoked
protected String resourcePath
protected boolean context
protected boolean enabled
protected Map<String,RewriteMap> maps
public boolean getEnabled()
public void setEnabled(boolean enabled)
protected void initInternal() throws LifecycleException
LifecycleMBeanBase
initInternal
in class ValveBase
LifecycleException
- If the initialisation failsprotected void startInternal() throws LifecycleException
ValveBase
LifecycleBase.startInternal()
.startInternal
in class ValveBase
LifecycleException
- if this component detects a fatal error
that prevents this component from being usedpublic void setConfiguration(String configuration) throws Exception
Exception
public String getConfiguration()
protected void parse(BufferedReader reader) throws LifecycleException
LifecycleException
protected void stopInternal() throws LifecycleException
ValveBase
LifecycleBase.stopInternal()
.stopInternal
in class ValveBase
LifecycleException
- if this component detects a fatal error
that prevents this component from being usedpublic void invoke(Request request, Response response) throws IOException, ServletException
Valve
Perform request processing as required by this Valve.
An individual Valve MAY perform the following actions, in the specified order:
getNext().invoke()
.
A Valve MUST NOT do any of the following things:
getNext().invoke()
method has returned.
getNext().invoke()
method has
returned.
request
- The servlet request to be processedresponse
- The servlet response to be createdIOException
- if an input/output error occurs, or is thrown
by a subsequently invoked Valve, Filter, or ServletServletException
- if a servlet error occurs, or is thrown
by a subsequently invoked Valve, Filter, or Servletprotected File getConfigBase()
protected String getHostConfigPath(String resourceName)
resourceName
- The rewrite configuration file namepublic static Object parse(String line)
line
- A line from the rewrite configurationprotected static void parseCondFlag(String line, RewriteCond condition, String flag)
line
- The configuration line being parsedcondition
- The current conditionflag
- The flagprotected static void parseRuleFlag(String line, RewriteRule rule, String flag)
line
- The configuration line being parsedrule
- The current ruleflag
- The flagCopyright © 2000-2021 Apache Software Foundation. All Rights Reserved.