Package sunlabs.brazil.filter
Class CopyContentFilter
- java.lang.Object
-
- sunlabs.brazil.filter.CopyContentFilter
-
public class CopyContentFilter extends java.lang.Object implements Filter
Filter to save content (of an entire site) to a disk file. This is used to "steal" other sites. It is expected to be used in conjunction with aGenericProxyHandler. Only files that don't already exist on the local file system are saved. Properties:- directoryName
- The root in the file system to save the content in
- Version:
- 2.2
- Author:
- Stephen Uhler
-
-
Constructor Summary
Constructors Constructor Description CopyContentFilter()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description byte[]filter(Request request, MimeHeaders headers, byte[] content)Grab the contents, and save as a file (if file doesn't already exist).booleaninit(Server server, java.lang.String prefix)Initializes the handler.booleanrespond(Request request)This is the request object before the content was fetchedbooleanshouldFilter(Request request, MimeHeaders headers)Watch every document that passes by.
-
-
-
Method Detail
-
init
public boolean init(Server server, java.lang.String prefix)
Description copied from interface:HandlerInitializes the handler.- Specified by:
initin interfaceHandler- Parameters:
server- The HTTP server that created thisHandler. TypicalHandlers will useServer.propsto obtain run-time configuration information.prefix- The handlers name. The string thisHandlermay prepend to all of the keys that it uses to extract configuration information fromServer.props. This is set (by theServerandChainHandler) to help avoid configuration parameter namespace collisions.- Returns:
trueif thisHandlerinitialized successfully,falseotherwise. Iffalseis returned, thisHandlershould not be used.
-
respond
public boolean respond(Request request)
This is the request object before the content was fetched
-
shouldFilter
public boolean shouldFilter(Request request, MimeHeaders headers)
Watch every document that passes by. If the HTTP rerun code is "200", plan to save the content on the local file system.- Specified by:
shouldFilterin interfaceFilter- Parameters:
request- The in-progress HTTP request.headers- The MIME headers generated by the wrappedHandler.- Returns:
trueif this filter would like to examine and possibly rewrite the content,falseotherwise.
-
filter
public byte[] filter(Request request, MimeHeaders headers, byte[] content)
Grab the contents, and save as a file (if file doesn't already exist). The URL is mapped into a pathname starting fromdirectoryName.- Specified by:
filterin interfaceFilter- Parameters:
request- The finished HTTP request.headers- The MIME headers generated by theHandler.content- The output from theHandlerthat thisFiltermay rewrite.- Returns:
- The rewritten content. The
Filtermay return the originalcontentunchanged. TheFiltermay returnnullto indicate that theFilterHandlershould stop processing the request and should not return any content to the client.
-
-