Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Continuity::RequestCalUserkContributed Perl DocContinuity::RequestCallbacks(3)

NAME
       Continuity::RequestCallbacks - Mix callbacks into the Continuity
       request object

SYNOPSYS
	 use Continuity;
	 use Continuity::RequestCallbacks;

	 Continuity->new->loop;

	 sub main {
	   my $request = shift;
	   my $link_yes	= $request->callback_link( Yes => sub {
	     $request->print("You said yes! (please reload)");
	     $request->next;
	   });
	   my $link_no = $request->callback_link( No =>	sub {
	     $request->print("You said no! (please reload)");
	     $request->next;
	   });
	   $request->print(qq{
	     Do	you like fishies?<br>
	     $link_yes $link_no
	   });
	   $request->next;
	   $request->execute_callbacks;
	   $request->print("All	done here!");
	 }

DESCRIPTION
       This adds some methods to the $request object so	you can	easily do some
       callbacks.

METHODS
   $html = $request->callback_link( "text" => sub { ...	} );
       Returns the HTML	for an href callback.

   $html = $request->callback_submit( "text" =>	sub { ... } );
       Returns the HTML	for a submit button callback.

   $request->execute_callbacks
       Execute callbacks, based	on the params in $request. Call	this after
       you've displayed	the form and then done "$request->next".

       We don't	call this from within "$request->next" in case you need	to do
       some processing before executing	callbacks. Checking authentication is
       a good example of something you might be	doing in between :)

       By default the callbacks	are cleared with ->clear_callbacks after all
       callbacks are processed.	If you'd like, you can pass a hashref with a
       flag to indicate	that the remaining callbacks shouldn't be cleared,
       like this:

	 $request->execute_callbacks( {	no_clear_all =>	1 } );

       You might want to do this if, for example, you are doing	some AJAX and
       don't want one js component clearing the	callbacks of another. It is
       most likely a bad idea though due to the	ensuing	memory leak. If	it
       makes you feel any better, you can pass "clear_executed"	in the same
       way to clear at least some, preventing double-execution.	You'd probably
       use both	flags:

	 $request->execute_callbacks( {	no_clear_all =>	1, clear_executed => 1 } );

   $request->clear_callbacks
       Explicitly clear	the current list of callbacks. This is already called
       at the end of execute_callbacks.	It additionally	exists here in case
       you want	to clear the callbacks without processing.

perl v5.32.0			  2014-07-17   Continuity::RequestCallbacks(3)

NAME | SYNOPSYS | DESCRIPTION | METHODS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Continuity::RequestCallbacks&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help