WWW::Mechanize::Cached::GZip(3pm)

NAME
WWW::Mechanize::Cached::GZip - like WWW::Mechanize + caching + gzip-compression

VERSION
Version 0.10

SYNOPSIS
    use WWW::Mechanize::Cached::GZip;

    my $mech_cached = WWW::Mechanize::Cached::GZip->new();
    my $response = $mech_cached->get($url);

    print "x-content-length (before unzip) = ", $response->header('x-content-length');
    print "content-length (after unzip) = ", $response->header('content-length');

    ...

    # for the same $url - the already uncompressed $response2 is now taken from cache:
    my $response2 = $mech_cached->get($url);

DESCRIPTION
The WWW::Mechanize::Cached::GZip module tries to fetch a URL by requesting gzip-compression from the webserver.

Caching is done by inheriting from WWW::Mechanize::Cached. Constructor parameters are identically and described there.

  DECOMPRESSION
If the response contains a header with 'Content-Encoding: gzip', it decompresses the response-body in order to get the original (uncompressed) content.

This module will help to reduce bandwith fetching webpages, if supported by the webeserver. If the webserver does not support gzip-compression, no decompression will be made.

The decompression of the response is handled by Compress::Zlib::memGunzip.

There is a small webform, you can instantly test, whether a webserver supports gzip-compression on a particular URL: <http://www.computerhandlung.de/www-mechanize-gzip.htm>

  CACHING
This modules is a direct subclass of WWW::Mechanize::Cached and will therefore accept the same constructor parameters and support any methods provided by WWW::Mechanize::Cached.

The default behavoir is to use Cache::FileCache which stores its files somewhere under /tmp.

  METHODS

prepare_request
    Adds 'Accept-Encoding' => 'gzip' to outgoing HTTP-headers before sending.

send_request
    Unzips response-body if 'content-encoding' is 'gzip' and corrects 'content-length' to unzipped content-length.

SEE ALSO
WWW::Mechanize::Cached

Compress::Zlib

AUTHOR
Peter Giessner "cardb@planet-elektronik.de"

LICENCE AND COPYRIGHT
Copyright (c) 2011, Peter Giessner "cardb@planet-elektronik.de". All rights reserved.

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.