|
![]() |
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface Filter
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(sunlabs.brazil.server.Server, java.lang.String)
Handler.respond(sunlabs.brazil.server.Request)
Filter
, and
no further processing filtering takes place.
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. |
Methods inherited from interface sunlabs.brazil.server.Handler |
---|
init, respond |
Method Detail |
---|
boolean shouldFilter(Request request, MimeHeaders headers)
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.
request
- The in-progress HTTP request.headers
- The MIME headers generated by the wrapped Handler
.
true
if this filter would like to examine and
possibly rewrite the content, false
otherwise.byte[] filter(Request request, MimeHeaders headers, byte[] content)
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
.
request
- The finished HTTP request.headers
- The MIME headers generated by the Handler
.content
- The output from the Handler
that this
Filter
may rewrite.
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.
|
Version Kenai-svn-r24, Generated 08/18/09 Copyright (c) 2001-2009, Sun Microsystems. |
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |