*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->IRIX man pages -> perl5/CGI::Push (3)              
Title
Content
Arch
Section
 

Contents


CGI::Push(3)							  CGI::Push(3)


NAME    [Toc]    [Back]

     CGI::Push - Simple	Interface to Server Push

SYNOPSIS    [Toc]    [Back]

	 use CGI::Push qw(:standard);

	 do_push(-next_page=>\&next_page,
		 -last_page=>\&last_page,
		 -delay=>0.5);

	 sub next_page {
	     my($q,$counter) = @_;
	     return undef if $counter >= 10;
	     return start_html('Test'),
		    h1('Visible'),"\n",
		    "This page has been	called ", strong($counter)," times",
		    end_html();
	   }

	  sub last_page	{
	      my($q,$counter) =	@_;
	      return start_html('Done'),
		     h1('Finished'),
		     strong($counter),'	iterations.',
		     end_html;
	  }

DESCRIPTION    [Toc]    [Back]

     CGI::Push is a subclass of	the CGI	object created by CGI.pm.  It is
     specialized for server push operations, which allow you to	create
     animated pages whose content changes at regular intervals.

     You provide CGI::Push with	a pointer to a subroutine that will draw one
     page.  Every time your subroutine is called, it generates a new page.
     The contents of the page will be transmitted to the browser in such a way
     that it will replace what was there beforehand.  The technique will work
     with HTML pages as	well as	with graphics files, allowing you to create
     animated GIFs.

USING CGI::Push
     CGI::Push adds one	new method to the standard CGI suite, do_push().  When
     you call this method, you pass it a reference to a	subroutine that	is
     responsible for drawing each new page, an interval	delay, and an optional
     subroutine	for drawing the	last page.  Other optional parameters include
     most of those recognized by the CGI header() method.

     You may call do_push() in the object oriented manner or not, as you
     prefer:






									Page 1






CGI::Push(3)							  CGI::Push(3)



	 use CGI::Push;
	 $q = new CGI::Push;
	 $q->do_push(-next_page=>\&draw_a_page);

	     -or
	 use CGI::Push qw(:standard);
	 do_push(-next_page=>\&draw_a_page);

     Parameters	are as follows:

     -next_page

	     do_push(-next_page=>\&my_draw_routine);

	 This required parameter points	to a reference to a subroutine
	 responsible for drawing each new page.	 The subroutine	should expect
	 two parameters	consisting of the CGI object and a counter indicating
	 the number of times the subroutine has	been called.  It should	return
	 the contents of the page as an	array of one or	more items to print.
	 It can	return a false value (or an empty array) in order to abort the
	 redrawing loop	and print out the final	page (if any)

	     sub my_draw_routine {
		 my($q,$counter) = @_;
		 return	undef if $counter > 100;
		 return	start_html('testing'),
			h1('testing'),
			"This page called $counter times";
	     }


     -last_page
	 This optional parameter points	to a reference to the subroutine
	 responsible for drawing the last page of the series.  It is called
	 after the -next_page routine returns a	false value.  The subroutine
	 itself	should have exactly the	same calling conventions as the
	 -next_page routine.

     -type
	 This optional parameter indicates the content type of each page.  It
	 defaults to "text/html".  Currently, server push of heterogeneous
	 document types	is not supported.

     -delay
	 This indicates	the delay, in seconds, between frames.	Smaller	delays
	 refresh the page faster.  Fractional values are allowed.

	 If not	specified, -delay will default to 1 second






									Page 2






CGI::Push(3)							  CGI::Push(3)



     -cookie, -target, -expires
	 These have the	same meaning as	the like-named parameters in
	 CGI::header().

INSTALLING CGI::Push SCRIPTS
     Server push scripts must be installed as no-parsed-header (NPH) scripts
     in	order to work correctly.  On Unix systems, this	is most	often
     accomplished by prefixing the script's name with "nph-". Recognition of
     NPH scripts happens automatically with WebSTAR and	Microsoft IIS.	Users
     of	other servers should see their documentation for help.

CAVEATS    [Toc]    [Back]

     This is a new module.  It hasn't been extensively tested.

AUTHOR INFORMATION    [Toc]    [Back]

     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.

     Address bug reports and comments to:  [email protected]

BUGS    [Toc]    [Back]

     This section intentionally	left blank.

SEE ALSO    [Toc]    [Back]

      
      
     the CGI::Carp manpage, the	CGI manpage


									PPPPaaaaggggeeee 3333
[ Back ]
 Similar pages
Name OS Title
glPopAttrib Tru64 push and pop the server attribute stack
glpushattrib IRIX push and pop the server attribute stack
glPushAttrib Tru64 push and pop the server attribute stack
dialog_notify FreeBSD provide a simple ncurses-based GUI interface
dialog_mesgbox FreeBSD provide a simple ncurses-based GUI interface
dialog_gauge FreeBSD provide a simple ncurses-based GUI interface
init_dialog FreeBSD provide a simple ncurses-based GUI interface
end_dialog FreeBSD provide a simple ncurses-based GUI interface
use_helpfile FreeBSD provide a simple ncurses-based GUI interface
use_helpline FreeBSD provide a simple ncurses-based GUI interface
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service