[prev in list] [next in list] [prev in thread] [next in thread] 

List:       apache-modperl
Subject:    Re: [MP2] How to turn off caching?
From:       Torsten Foertsch <torsten.foertsch () gmx ! net>
Date:       2005-05-31 9:31:12
Message-ID: 200505311131.17928.torsten.foertsch () gmx ! net
[Download RAW message or body]


On Tuesday 31 May 2005 06:23, Foo Ji-Haw wrote:
> If I am not mistaken, modperl tends to cache all output until the script
> is completed, then it sends out the page. If I want to (for example)
> print a period (.) back to the browser every second, what do I need to
> do? I tried $| but it does not work.

My handler looks this:

package My::Content;
use Apache2::RequestRec ();
use Apache2::RequestIO ();
use Apache2::Const -compile=>qw(OK);

sub handler {
  my $r=shift;
  $r->content_type( 'text/html' );

  for( my $i=0; $i<10; $i++ ) {
    $r->print( time."\n" );
    $r->rflush;
    sleep 1;
  }
  $r->print( "\n" );
  return Apache2::Const::OK;
}

and here is what it sends every second one line as expected:

r2@opi:~> telnet localhost 8081
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
GET /mp2-handler HTTP/1.0

HTTP/1.1 200 OK
Date: Tue, 31 May 2005 09:24:41 GMT
Server: Apache/2.0.54 (Unix) mod_perl/2.0.0 Perl/v5.8.5
Connection: close
Content-Type: text/html

1117531481
1117531482
1117531483
1117531484
1117531485
1117531486
1117531487
1117531488
1117531489
1117531490

Connection closed by foreign host.

It work with simple dots as well.

Torsten

[Attachment #3 (application/pgp-signature)]

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic