| sunlabs.brazil.filter.Filter
All known Subclasses: sunlabs.brazil.filter.UrlSessionFilter, sunlabs.brazil.proxy.HistoryFilter, sunlabs.brazil.filter.PlainFilter, sunlabs.brazil.filter.CopyContentFilter, sunlabs.brazil.filter.SessionFilter, sunlabs.brazil.proxy.CookieFilter, sunlabs.brazil.filter.TemplateFilter, sunlabs.brazil.tcl.TclFilter, sunlabs.brazil.filter.ReplaceFilter,
Filter | public interface Filter extends Handler(Code) | | The Filter interface is used by the
FilterHandler to examine and dynamically rewrite the contents of web pages obtained from
some source before returning that page to the client.
A chain of filters can be established in the manner of a pipeline. The
FilterHandler sends the output of a Filter
to the input of the next Filter .
The init and respond methods inherited from
the Handler interface are called as for ordinary handlers:
-
Handler.init
- is called when the server starts, to obtain run-time
configuration information.
-
Handler.respond
- is called when the request comes in, before the request is sent to
the wrapped handler. This method returns true to indicate that the
request has been completely handled by this
Filter , and
no further processing filtering takes place.
author: Stephen Uhler (stephen.uhler@sun.com) author: Colin Stevens (colin.stevens@sun.com) version: 1.8 00/05/31 |
Method Summary | |
public byte[] | filter(Request request, MimeHeaders headers, byte[] content) Filters the content generated by the wrapped Handler .
The content may be arbitrarily rewritten by this method.
The MIME headers may also be modified by this Filter ,
for instance, to change the "Content-Type" of a web page.
The "Content-Length" will automatically be computed by the
FilterHandler .
Parameters: request - The finished HTTP request. Parameters: headers - The MIME headers generated by the Handler . Parameters: content - The output from the Handler that thisFilter may rewrite. The rewritten content. | public boolean | shouldFilter(Request request, MimeHeaders headers) Gives this Filter the chance to examine the HTTP
response headers from the wrapped Handler , before the
content has been retrieved.
If this Filter does want to examine and possibly
rewrite the content, it should return true ; once the
content is available, the filter method will be invoked.
For instance, if this Filter is only interested in
rewriting "text/html" pages, it should return false if
the "Content-Type" is "image/jpeg".
If all filters return false for the
shouldFilter method, the
FilterHandler can
switch to a more effient mechanism of delivering content to the client.
The MIME headers may also be modified by this Filter ,
for instance, to change the "Content-Type" of a web page. |
filter | public byte[] filter(Request request, MimeHeaders headers, byte[] content)(Code) | | Filters the content generated by the wrapped Handler .
The content may be arbitrarily rewritten by this method.
The MIME headers may also be modified by this Filter ,
for instance, to change the "Content-Type" of a web page.
The "Content-Length" will automatically be computed by the
FilterHandler .
Parameters: request - The finished HTTP request. Parameters: headers - The MIME headers generated by the Handler . Parameters: content - The output from the Handler that thisFilter may rewrite. The rewritten content. The Filter may returnthe original content unchanged. TheFilter may return null to indicatethat the FilterHandler should stop processing therequest and should not return any content to the client. |
shouldFilter | public boolean shouldFilter(Request request, MimeHeaders headers)(Code) | | Gives this Filter the chance to examine the HTTP
response headers from the wrapped Handler , before the
content has been retrieved.
If this Filter does want to examine and possibly
rewrite the content, it should return true ; once the
content is available, the filter method will be invoked.
For instance, if this Filter is only interested in
rewriting "text/html" pages, it should return false if
the "Content-Type" is "image/jpeg".
If all filters return false for the
shouldFilter method, the
FilterHandler can
switch to a more effient mechanism of delivering content to the client.
The MIME headers may also be modified by this Filter ,
for instance, to change the "Content-Type" of a web page. The
"Content-Length" will automatically be computed.
Parameters: request - The in-progress HTTP request. Parameters: headers - The MIME headers generated by the wrapped Handler . true if this filter would like to examine andpossibly rewrite the content, false otherwise. |
|
|