# listing the modifications you have made.
# The most recent version and complete docs are available at:
-# http://www.genome.wi.mit.edu/ftp/pub/software/WWW/cgi_docs.html
-# ftp://ftp-genome.wi.mit.edu/pub/software/WWW/
+# http://stein.cshl.org/WWW/software/CGI/
-$CGI::Push::VERSION='1.01';
+$CGI::Push::VERSION='1.03';
use CGI;
+use CGI::Util 'rearrange';
@ISA = ('CGI');
$CGI::DefaultClass = 'CGI::Push';
my (@header);
my ($type,$callback,$delay,$last_page,$cookie,$target,$expires,@other) =
- $self->rearrange([TYPE,NEXT_PAGE,DELAY,LAST_PAGE,[COOKIE,COOKIES],TARGET,EXPIRES],@p);
+ rearrange([TYPE,NEXT_PAGE,DELAY,LAST_PAGE,[COOKIE,COOKIES],TARGET,EXPIRES],@p);
$type = 'text/html' unless $type;
$callback = \&simple_counter unless $callback && ref($callback) eq 'CODE';
$delay = 1 unless defined($delay);
push(@o,'-nph'=>1);
print $self->header(@o);
print "${boundary}$CGI::CRLF";
-
+
# now we enter a little loop
my @contents;
while (1) {
last unless (@contents = &$callback($self,++$COUNTER)) && defined($contents[0]);
print "Content-type: ${type}$CGI::CRLF$CGI::CRLF"
- unless $type eq 'dynamic';
+ unless $type =~ /^dynamic|heterogeneous$/i;
print @contents,"$CGI::CRLF";
print "${boundary}$CGI::CRLF";
do_sleep($self->push_delay()) if $self->push_delay();
technique will work with HTML pages as well as with graphics files,
allowing you to create animated GIFs.
+Only Netscape Navigator supports server push. Internet Explorer
+browsers do not.
+
=head1 USING CGI::Push
CGI::Push adds one new method to the standard CGI suite, do_push().
h1('testing'),
"This page called $counter times";
}
-
+
sub my_last_page {
header(-refresh=>'5; URL=http://somewhere.else/finished.html',
-type=>'text/html'),
Microsoft IIS. Users of other servers should see their documentation
for help.
-=head1 CAVEATS
-
-This is a new module. It hasn't been extensively tested.
-
=head1 AUTHOR INFORMATION
-be used and modified freely, but I do request that this copyright
-notice remain attached to the file. You may modify this module as you
-wish, but if you redistribute a modified version, please attach a note
-listing the modifications you have made.
+Copyright 1995-1998, Lincoln D. Stein. All rights reserved.
+
+This library is free software; you can redistribute it and/or modify
+it under the same terms as Perl itself.
-Address bug reports and comments to:
-lstein@genome.wi.mit.edu
+Address bug reports and comments to: lstein@cshl.org
=head1 BUGS