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.