Jifty::View::Static::Handler - Jifty view handler for static files
This class takes care of serving out static files for a Jifty application.
When fully operational, it will use an algorithm along the lines of the following:
* Static files are served out of a separate root * If static files go through apache: * How do we merge together the N static roots? * If static files go through Jifty::Handler * We need a flag to allow them to go through the dispatcher, too * return "True" (304) for if-modified-since * if the browser accepts gzipped data, see if we have a cached gzipped copy if so, send it see if we have a marker indicating that gzip is a lose if so, send uncompressed
gzip the content send the gzipped content * if the browser doesn't accept gzipped content send the content uncompressed
Create a new static file handler. Likely, only the Jifty::Handler needs to do this.
Jifty::Handler
Returns all the static roots the handler will search
Handle a request for $path. If we can't find a static file of that name, return undef.
$path
An alias for "show"
Returns true if it looks like the client accepts gzip encoding. Otherwise, returns false.
Returns the system path for $path, searching inside the application's static root, loaded plugins' static roots, and finally Jifty's static root. Returns undef if it can't find the file in any path.
An alias for "file_path".
Returns the mime type of the file whose path on disk is $path. Tries to use MIME::Types to guess first. If that fails, it falls back to File::MMagic.
File::MMagic
Print $path to STDOUT (the client), identified with a mimetype of $mimetype.
$mimetype
If $compression is gzip, gzip the output stream.
$compression
gzip
Sends appropriate cache control and expiration headers such that the client will cache the content.
Sends a "304 Not modified" response to the browser, telling it to use a cached copy.
To install Jifty, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Jifty
CPAN shell
perl -MCPAN -e shell install Jifty
For more information on module installation, please visit the detailed CPAN module installation guide.