
MojoX::Encode::Gzip - Gzip a Mojo::Message::Response

use MojoX:Encode::Gzip;
# Simple
MojoX::Encode::Gzip->new->maybe_gzip($tx);
# With options
my $gzip = MojoX::Encode::Gzip->new(
min_bytes => 600,
max_bytes => 600000,
);
$success = $gzip->maybe_gzip($tx);

Gzip compress a Mojo::Message::Response if client supports it.
min_bytesThe minumum number of bytes in the body before we would try to gzip it. Trying to gzip really small messages can take extra CPU power on the server and client without saving any times. Defaults to 500.
max_bytesThe maximum number of bytes in the body before we give up on trying gzip it. Gzipping very large messages can delay the response and possibly exhaust system resources. Defaults to 500000.

maybe_gzipmy $success = $gzip->maybe_gzip($tx);
Given a Mojo::Transaction object, possibly gzips transforms the response by gzipping it. Returns true if we gzip it, and undef otherwise. The behavior is modified by the min_bytes and max_bytes attributes.
Currently we only only try to gzip Content-types that start with "text/", or end in "xml" or "javascript", along with "application/json". This may be configurable in the future.

Mark Stosberg, <mark at summersault.com>

Please report any bugs or feature requests to bug-mojox-encode-gzip at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=MojoX-Encode-Gzip. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

You can find documentation for this module with the perldoc command.
perldoc MojoX::Encode::Gzip
You can also look for information at:

Inspired by Catalyst::Plugin::Compress::Gzip

Copyright 2008 Mark Stosberg, all rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.