com.cometway.httpd
Class HTTPPathRewrite

java.lang.Object
  extended by com.cometway.props.Props
      extended by com.cometway.ak.Agent
          extended by com.cometway.ak.ServiceAgent
              extended by com.cometway.httpd.WebServerExtension
                  extended by com.cometway.httpd.HTTPPathRewrite
All Implemented Interfaces:
AgentInterface, HasStateMachineModel

public class HTTPPathRewrite
extends WebServerExtension

This WebServerExtension reads in a file of match and replace pairs, separated by a space. These can be regular expressions similar to the s/match/replace/ used by sed or perl. These pairs are applied to the 'path' property of the HTTPAgentRequest but not the 'request' property. This WebServerExtension will always pass through, regardless of whether the path has been altered or not. The pairs are applied in the order they were read from the file, and stops when one of the match/replace pairs changes the path. Example match file: ^/images/(.*) /specials/all_images/$1 .*confidential.* /access_denied.html The first line will change '/images/wallpapers/1.jpg' to '/specials/all_images/wallpapers/1.jpg' The second will change '/1/2/confidential_20071031.pdf' to '/access_denied.html'


Field Summary
 
Fields inherited from class com.cometway.ak.Agent
agent_id, agentController, CREATING_STATE, debugReporter, DESTROYED_STATE, DESTROYING_STATE, errorReporter, FAILED_STATE, printlnReporter, props, RUNNING_STATE, STARTING_STATE, STOPPED_STATE, STOPPING_STATE, warningReporter
 
Constructor Summary
HTTPPathRewrite()
           
 
Method Summary
 boolean handleRequest(HTTPAgentRequest request)
          This will be called by the WebServer (specifically the ConnectionKMethod) to handle an HTTPAgentRequest.
 void initProps()
          Override this method to initialize this agent's properties before it is started.
 void readMatchFile()
           
 void start()
          This method inherited from com.cometway.ak.ServiceAgent includes functionality to register itself with the WebServer (temporary).
 void stop()
          Unregisters this instance with the service manager using the service_name property.
 
Methods inherited from class com.cometway.ak.Agent
currentStateEquals, debug, destroy, error, error, getAgentController, getDateTimeStr, getProps, getServiceImpl, getStateMachineModel, println, register, registerService, setAgentController, setProps, toString, unregister, unregisterService, warning, warning
 
Methods inherited from class com.cometway.props.Props
addListener, append, copy, copyFrom, copyTo, decrementInteger, dump, enableListeners, enumerateKeys, format, getBoolean, getByteArray, getCharacter, getDate, getDate, getDateString, getDouble, getFloat, getHexString, getInteger, getKeys, getLong, getNextKey, getProperty, getProperty, getPropsContainer, getSize, getString, getString, getTokens, getTokens, getTrimmedString, getVector, hasProperty, incrementInteger, insertProps, loadProps, notifyPropsChanged, notifyPropsChangedIgnore, notifyPropsChangedIgnore, parse, propertyMatchesRegEx, readFromFile, regExPropertyMatches, removeAll, removeListener, removeProperty, resumeNotify, saveProps, set, setBoolean, setCharacter, setDefault, setDouble, setFloat, setInteger, setLong, setProperty, setProperty, setProperty, setPropsContainer, suspendNotify, writeToFile
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

HTTPPathRewrite

public HTTPPathRewrite()
Method Detail

initProps

public void initProps()
Description copied from class: Agent
Override this method to initialize this agent's properties before it is started.

Specified by:
initProps in interface AgentInterface
Overrides:
initProps in class Agent

start

public void start()
Description copied from class: WebServerExtension
This method inherited from com.cometway.ak.ServiceAgent includes functionality to register itself with the WebServer (temporary).

Specified by:
start in interface AgentInterface
Overrides:
start in class WebServerExtension

stop

public void stop()
Description copied from class: ServiceAgent
Unregisters this instance with the service manager using the service_name property.

Specified by:
stop in interface AgentInterface
Overrides:
stop in class ServiceAgent

readMatchFile

public void readMatchFile()

handleRequest

public boolean handleRequest(HTTPAgentRequest request)
Description copied from class: WebServerExtension
This will be called by the WebServer (specifically the ConnectionKMethod) to handle an HTTPAgentRequest. If the request has been handled, true is returned and no other WebServerExtensions will be used.

Overrides:
handleRequest in class WebServerExtension