Metadata-Version: 1.0
Name: repoze.squeeze
Version: 0.4.3
Summary: WSGI middleware for statistical HTML browser resource squeezing.
Home-page: http://www.repoze.org
Author: Malthe Borch and Stefan Eletzhofer
Author-email: repoze-dev@lists.repoze.org
License: BSD-derived (http://www.repoze.org/LICENSE.txt)
Description: repoze.squeeze
        ==============
        
        This package provides a WSGI middleware component which "squeezes"
        HTML documents by merging browser resources (javascript
        and stylesheets).
        
        It uses statistical analysis to determine the optimal bundles based on
        the HTML documents that pass through it. Vary-headers are observed, as
        are resource expiration dates.
        
        Documents that are not squeezed are given the 'no-cache' pragma in an
        expectation that we will be able to squeeze it after sufficient
        burn-in. Squeezed documents are served with expiration dates no later
        than the expiration dates of the squeezed resources which it
        references.
        
        Usage
        -----
        
        Configure the middleware with the following two options (required):
        
        @cache_dir: Relative path to a directory where we store squeezed
        resources
        
        @url_prefix: Path segment or full base URL that will be used to
        serve the cache directory as static files.
        
        The following option is optional:
        
        @threshold: Floating-point parameter that controls the merge to
        apperances threshold. This parameter can normally be left at the
        default (0.5).
        
        In addition, you must configure the WSGI application to serve the file
        cache directory from the ``url_prefix`` (e.g. "cache").
        
        Invalidation
        ------------
        
        To invalidate the file cache, upstream applications can set the
        "X-Squeeze-Invalidate" header to a true value; note that before the
        application is called, the middleware adds this key to the environment
        such that applications which can't modify the environment can still
        flag for invalidation:
        
        >>> invalidate = environ["X-Squeeze-Invalidate"]
        >>> invalidate()
        
        This will reset the file cache registry; note that no cache files are
        ever deleted (to preserve web server integrity). You can manually
        purge the file cache at any time be deleting the files (this is
        allowed at run-time).
        
        
        Changelog
        ---------
        
        0.4.3 (released 2009-05-11)
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~
        
        - Added environment variable control of file cache
        invalidation. [malthe]
        
        0.4.2 (released 2009-05-11)
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~
        
        - Add semicolon after javascripts to make sure any function-block is
        properly terminated (necessary due to concatenation). [malthe]
        
        0.4.1 (released 2009-04-20)
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~
        
        - Parse unicode body to ensure correct character decoding. [malthe]
        
        0.4 (released 2009-04-15)
        ~~~~~~~~~~~~~~~~~~~~~~~~~
        
        - If a response has status '304 Not Modified', update the ``ttl`` but
        not the content. [malthe]
        
        - If a script- or style-tag does not have a source or link, ignore
        it. [malthe]
        
        - Unquote request URL when querying cache. [malthe]
        
        - Added support for ``repoze.xmliter`` which allows reusing an
        ``lxml`` document tree between middlewares. [malthe]
        
        - Media types for stylesheets are now taken into account when merging
        the resources. Squeze uses CSS2 `@media <type>` syntax. [jvloothuis]
        
        0.3 (released 2008-10-08)
        ~~~~~~~~~~~~~~~~~~~~~~~~~
        
        - Relative URLs appearing in stylesheets are now made absolute before
        merging. [malthe]
        
        0.2 (released 2008-10-03)
        ~~~~~~~~~~~~~~~~~~~~~~~~~
        
        - Add setuptools as a dependency. [malthe]
        
        0.1 (released 2008-10-02)
        ~~~~~~~~~~~~~~~~~~~~~~~~~
        
        - Initial release.
        
        
        
Keywords: web middleware wsgi css js squeeze merging statistics cache
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI :: Application
