| java.lang.Object sunlabs.brazil.server.FileHandler
FileHandler | public class FileHandler implements Handler(Code) | | Standard handler for fetching static files.
This handler does URL to file conversion, file suffix to mime type
lookup, delivery of index files where providing directory
references, and redirection for missing slashes (/) at the end of
directory requests. This handler only responds to GET requests.
The following coniguration parameters are used:
- root
- property for document root (.)
Since the document root is common to many handers, if non
root property is found with the supplied prefix, then the
root property with the empty prefix ("") is used instead.
This allows many handlers to share the common property.
- default
- property for default document, given directory (index.html)
- prefix
- Unly url's that start with this are allowed.
defaults to "". The prefix is removed from the
url before looking it up in the file system.
- mime
- property for mime type
For each file suffix .XX, the property mime.XX is used to
determine the mime type. If no property exists, the document
will not be delivered.
The FileHandler sets the following entries in the request properties
as a side-effect:
- fileName
- The absolute path of the file
that couldn't be found.
- DirectoryName
- If the URL specified is a directory name,
its absolute path is placed here.
- lastModified
- The Time stamp of the last modified time
author: Stephen Uhler version: 1.30, 01/01/07 |
init | public boolean init(Server server, String prefix)(Code) | | Initialize the file handler.
The file handler always returns true. |
respond | public boolean respond(Request request) throws IOException(Code) | | Find, read, and deliver via http the requested file.
The server property root is used as the document root.
The document root is recalculated for each request, so an upstream
handler may change it for that request.
For URL's ending with "/", the server property default
(normally index.html) is automatically appended.
If the file suffix is not found as a server property
mime.suffix , the file is not delivered.
|
sendFile | public static void sendFile(Request request, File file, int code, String type) throws IOException(Code) | | Send a file as a response.
Parameters: request - The request object Parameters: fileHandle - The file to output Parameters: type - The mime type of the file |
urlToPath | public static String urlToPath(String url)(Code) | | Helper function to convert an url into a pathname.
- Collapse all %XX sequences.
- Ignore missing initial "/".
- Collapse all "/..", "/.", and "//" sequences.
URL(String) collapses all "/.." (and "/.") sequences,
except for a trailing "/.." (or "/."), which would lead to the
possibility of escaping from the document root.
File.getPath in jdk-1.1 leaves all the "//" constructs
in, but it collapses them in jdk-1.2, so we have to always take it
out ourselves, just to be sure.
Parameters: url - The file path from the URL (that is, minus the "http://host"part). May be null . |
|
|