Provided by: libcgi-compress-gzip-perl_1.03-3_all bug

NAME

       CGI::Compress::Gzip::FileHandle - CGI::Compress::Gzip helper package

LICENSE

       Copyright 2006-2007 Clotho Advanced Media, Inc., <cpan@clotho.com>

       Copyright 2007-2008 Chris Dolan <cdolan@cpan.org>

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

SYNOPSIS

          use CGI::Compress::Gzip;

          my $cgi = new CGI::Compress::Gzip;
          print $cgi->header();
          print "<html> ...";

DESCRIPTION

       This is intended for internal use only!  Use CGI::Compress::Gzip instead.

       This CGI::Compress::Gzip helper class subclasses IO::Zlib.  It is is needed to make sure
       that output is not compressed until the CGI header is emitted.  This filehandle delays the
       ignition of the zlib filter until it sees the exact same header generated by
       CGI::Compress::Gzip::header() pass through it's WRITE() method.  If you change the header
       before printing it, this class will throw an exception.

       This class holds one global variable representing the previous default filehandle used
       before the gzip filter is put in place.  This filehandle, usually STDOUT, is replaced
       after the gzip stream finishes (which is usually when the CGI object goes out of scope and
       is destroyed).

FUNCTIONS

       OPEN
           Overrides IO::Zlib::OPEN.  This method doesn't actually do anything -- it just stores
           it's arguments for a later call to SUPER::OPEN in WRITE().  The reason is that we may
           not have seen the header yet, so we don't yet know whether to compress output.

       WRITE buffer, length, offset
           Emit the uncompressed header followed by the compressed body.

       CLOSE
           Flush the compressed output.

AUTHOR

       Clotho Advanced Media, cpan@clotho.com

       Primary developer: Chris Dolan