The HistoryFilter is both a Handler and a
Filter that keeps a record of all pages visited by a
given session.
The HistoryFilter can be used to
make a user's session "mobile" as follows: A user's history
is normally stored with the browser being used, on the user's machine.
If the user runs a different browser or goes to a different machine, the
user's history will not be there. Instead, the user can access the web
via a proxy that keeps track of their history. No matter which browser
the user chooses or machine the user is at, a server running with the
HistoryFilter will automatically remember and be able to
present the user's history.
The history is kept with respect to a Session ID.
This filter uses the following configuration properties:
prefix
This handler will only process URLs beginning with this string.
The default value is "", which matches all URLs.
session
The name of the request property that holds the Session ID. The
default value is "SessionID".
nosession
The Session ID to use if the Session ID was not specified. The
default value is "common".
admin
URLs beginning with this prefix cause the HistoryFilter
to store the history information for the current Session in the
request properties
filter
If specified, then this is a Regexp pattern to match
against the "Content-Type" of the result. Setting this also implies
that the HistoryFilter will be invoked as a
Filter and not a Handler. The default
value is "", which indicates that the "Content-Type" is not
examined and that this HistoryFilter will be invoked
as a Handler.
Called when invoked as a Filter. If the URL matches the
prefix and the returned "Content-Type" matches the
filter, records this page's address in the history.
headers - The MIME headers generated by the Handler.
content - The output from the Handler that this
Filter may rewrite.
Returns:
The rewritten content. The Filter may return
the original content unchanged. The
Filter may return null to indicate
that the FilterHandler should stop processing the
request and should not return any content to the client.