Jifty::View::Static::Handler.3pm

Langue: en

Version: 2009-10-23 (ubuntu - 24/10/10)

Section: 3 (Bibliothèques de fonctions)

NAME

Jifty::View::Static::Handler - Jifty view handler for static files

DESCRIPTION

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
 
 

new

Create a new static file handler. Likely, only the "Jifty::Handler" needs to do this.

roots

Returns all the static roots the handler will search

show $path

Handle a request for $path. If we can't find a static file of that name, return undef.

handle_request $path

An alias for ``show''

client_accepts_gzipped_content

Returns true if it looks like the client accepts gzip encoding. Otherwise, returns false.

file_path $path

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.

template_exists $path

An alias for ``file_path''.

mime_type $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".

send_file $path $mimetype $compression

Print $path to STDOUT (the client), identified with a mimetype of $mimetype.

If $compression is "gzip", gzip the output stream.

send_http_header [COMPRESSION, LENGTH, LAST_MODIFIED]

Sends appropriate cache control and expiration headers such that the client will cache the content.

send_not_modified

Sends a ``304 Not modified'' response to the browser, telling it to use a cached copy.