Provided by: libjifty-perl_1.10518+dfsg-3ubuntu1_all bug

NAME

       Jifty::CAS - Jifty's Content-Addressable Storage facility

SYNOPSIS

         my $key = Jifty::CAS->publish('js' => 'all', $content,
                             { hash_with => $content, # default behaviour
                               content_type => 'application/x-javascript',
                             });

         $ie_key = Jifty::CAS->publish('js' => 'ie-only', $ie_content,
                             { hash_with => $ie_content,
                               content_type => 'application/x-javascript',
                             });

         $key = Jifty::CAS->key('js', 'ie-only');
         my $blob = Jifty::CAS->retrieve('js', $key);

DESCRIPTION

       Provides an in-memory "md5"-addressed content store.  Content is stored under a "domain",
       and can be addressed using wither the "key", which is an "md5" sum, or the "name", which
       simply stores the most recent key provided with that name.

BACKENDS

       The default data store is an per-process, in-memory store.  A memcached backed store is
       also available and has the benefits of sharing the cache across all instances of a Jifty
       app using Jifty::CAS.  The memcached store is limited to objects less than 1MB in size,
       however.

METHODS

   publish DOMAIN NAME CONTENT METADATA
       Publishes the given "CONTENT" at the address "DOMAIN" and "NAME".  "METADATA" is an
       arbitrary hash; see Jifty::CAS::Blob for more.  Returns the key on success, or undef on
       failure.

   key DOMAIN NAME
       Returns the most recent key for the given pair of "DOMAIN" and "NAME", or undef if none
       such exists.

   retrieve DOMAIN KEY
       Returns a Jifty::CAS::Blob for the given pair of "DOMAIN" and "KEY", or undef if none such
       exists.

   serve_by_name DOMAIN NAME REQUESTED_KEY
       Intelligently serves up the content of the object at NAME (not REQUESTED_KEY) in DOMAIN.
       REQUESTED_KEY is currently used only to check if the content at NAME equals the content
       requested.  If so, this method responds with an HTTP 304 status, indicating the content
       hasn't changed.  This use case assumes that content is served to clients from the CAS with
       the CAS key (an MD5 sum) as the filename or part of it.

       The "content_type" key in the requested object's metadata is expected to be set and is
       used for the HTTP response.

       This method is usually called from a dispatcher rule.  Returns the HTTP status code set by
       this method (possibly for your use in the dispatcher).