The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Catalyst::Plugin::Compress - Compress response

SYNOPSIS

    use Catalyst qw/Compress/;

or (Catalyst pre Unicode Merge, and If you want to use this plugin with Catalyst::Plugin::Unicode.)

    use Catalyst qw/
        Unicode
        Compress
    /;

or (Catalyst 5.90080 and later)

    use Catalyst qw/
        Compress
    /;

Remember to specify compression_format with:

    __PACKAGE__->config(
        compression_format => $format,
    );

$format can be either gzip bzip2 zlib or deflate. bzip2 is *only* supported by lynx and some other console text-browsers.

DESCRIPTION

This module combines Catalyst::Plugin::Deflate Catalyst::Plugin::Gzip Catalyst::Plugin::Zlib into one.

It compress response to [gzip bzip2 zlib deflate] if client supports it. In other works the client should send the Accept-Encoding HTTP header with a supported compression like 'gzip'.

NOTE: If you are using an older version of Catalyst that requires the Unicode plugin and if you want to use this module with Catalyst::Plugin::Unicode, You MUST load this plugin AFTER Catalyst::Plugin::Unicode.

    use Catalyst qw/
        Unicode
        Compress
    /;

If you don't, You'll get error which is like:

[error] Caught exception in engine "Wide character in subroutine entry at /usr/lib/perl5/site_perl/5.8.8/Compress/Zlib.pm line xxx."

If you upgrade to any version of Catalyst 5.90080+ the unicode support has been integrated into core code and this plugin is designed to work with that.

INTERNAL METHODS

should_compress_response

This method determine wether compressing the reponse using this plugin.

SEE ALSO

Catalyst.

AUTHOR

Yiyi Hu yiyihu@gmail.com

LICENSE

This library is free software. You can redistribute it and/or modify it under the same terms as perl itself.