---
name: "Jifty::View::Static::Handler"
section: "3pm"
platform: "linux"
package: "libjifty-perl"
version: "1.10518+dfsg-2"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/Jifty::View::Static::Handler"
---

# Jifty::View::Static::Handler(3pm)

Jifty view handler for static files

## NAME

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

## DESCRIPTION

This is deprecated and is being port to a stack of plack middleware and plack::app::file

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"

### 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

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

### send\_http\_header \[COMPRESSION, LENGTH, LAST\_MODIFIED\]

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

### send\_not\_modified

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