sunlabs.brazil.filter
public interface Filter extends Handler
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:
Filter, and
no further processing filtering takes place.
Version: 2.2
| Method Summary | |
|---|---|
| byte[] | filter(Request request, MimeHeaders headers, byte[] content)
Filters the content generated by the wrapped Handler.
|
| 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.
|
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.
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.
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.
headers
The MIME headers generated by the wrapped Handler.
Returns: true if this filter would like to examine and
possibly rewrite the content, false otherwise.