matts       2003/09/18 15:12:33

  Modified:    lib      AxKit.pm
  Log:
  Send Content-Length with gzipped output
  No need to do pack stuff any more - we have use bytes POWER!
  
  Revision  Changes    Path
  1.53      +9 -10     xml-axkit/lib/AxKit.pm
  
  Index: AxKit.pm
  ===================================================================
  RCS file: /home/cvs/xml-axkit/lib/AxKit.pm,v
  retrieving revision 1.52
  retrieving revision 1.53
  diff -u -r1.52 -r1.53
  --- AxKit.pm  17 Sep 2003 19:27:59 -0000      1.52
  +++ AxKit.pm  18 Sep 2003 22:12:33 -0000      1.53
  @@ -965,16 +965,14 @@
           my ($transformer, $doit) = get_output_transformer();
           if ($AxKit::Cfg->DoGzip) {
               AxKit::Debug(4, 'Sending gzipped xml string to browser');
  +            my $data = Compress::Zlib::memGzip($doit ?
  +                        $transformer->($r->pnotes('xml_string')) :
  +                        $r->pnotes('xml_string')
  +                    );
  +            $r->header_out('Content-Length' => length($data));
               AxKit::Apache::send_http_header($r);
               return DONE if $r->method eq 'HEAD';
  -            if ($doit) {
  -                $r->print( unpack($]>5.00555?"U0A*":"A*", 
Compress::Zlib::memGzip( 
  -                         $transformer->( $r->pnotes('xml_string') )
  -                         ) ) );
  -            }
  -            else {
  -                $r->print( unpack($]>5.00555?"U0A*":"A*", 
Compress::Zlib::memGzip( $r->pnotes('xml_string') ) ) );
  -            }
  +            $r->print($data);
           }
           else {
               AxKit::Apache::send_http_header($r);
  @@ -1114,7 +1112,8 @@
   
   sub print {
       my $self = shift;
  -
  +    use bytes;
  +    
       if ($self->notes('resetstring')) {
           $self->pnotes('xml_string', '');
           $self->notes('resetstring', 0);
  
  
  

Reply via email to