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.