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

FreeBSD Manual Pages


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

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

	 use Continuity;
	 use Continuity::RequestCallbacks;


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

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

   $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.

       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 } );

       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)


Want to link to this manual page? Use this URL:

home | help