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

FreeBSD Manual Pages

  
 
  

home | help
JavaScript::RPC::ServeUserGContributed Perl DocJavaScript::RPC::Server::CGI(3)

NAME
       JavaScript::RPC::Server::CGI - Remote procedure calls from JavaScript

SYNOPSIS
	   package MyJSRPC;

	   use Carp;
	   use base qw(	JavaScript::RPC::Server::CGI );

	   sub add {
	       my $self	= shift;
	       my @args	= @_;
	       unless(
		   @args == 2 and
		   $args[ 0 ] =~ /^\d+$/ and
		   $args[ 1 ] =~ /^\d+$/
	       ) {
		   croak( 'inputs must be digits only' );
	       }
	       return $args[ 0 ] + $args[ 1 ];
	   }

	   sub subtract	{
	       my $self	= shift;
	       my @args	= @_;
	       unless(
		   @args == 2 and
		   $args[ 0 ] =~ /^\d+$/ and
		   $args[ 1 ] =~ /^\d+$/
	       ) {
		   croak( 'inputs must be digits only' );
	       }
	       return $args[ 0 ] - $args[ 1 ];
	   }

	   package main;

	   use strict;

	   my $server =	MyJSRPC->new;
	   $server->process;

DESCRIPTION
       JavaScript::RPC::Server::CGI is a CGI-based server library for use with
       Brent Ashley's JavaScript Remote	Scripting (JSRS) client	library. It
       works asynchronously and	uses DHTML to deal with	the payload.

       In order	to add your custom meothds, this module	should be subclassed.

       The most	current	version	(as of the release of this module) of the
       client library as well as a demo	application have been included in this
       distribution.

INSTALLATION
       To install this module via Module::Build:

	   perl	Build.PL
	   ./Build	   # or	`perl Build`
	   ./Build test	   # or	`perl Build test`
	   ./Build install # or	`perl Build install`

       To install this module via ExtUtils::MakeMaker:

	   perl	Makefile.PL
	   make
	   make	test
	   make	install

METHODS
   new()
       Creates a new instance of the module. No	further	options	are available
       at this time.

   query()
       Gets / sets the query object. This has the side effect of extracting
       the env() data.

   get_new_query()
       This method generates a new query object. It is used internally by the
       query() method. This method should only be used if you want to supply a
       query object other than the standard CGI.pm object. However, it must be
       a CGI.pm	compatible object. Here's an example using CGI::Simple.

	   sub get_new_query {
	       require CGI::Simple;
	       my $q = CGI::Simple->new();

	       return $q;
	   }

   env()
       Gets / sets a hash of information related to the	currently query. The
       resulting structure contains four items:

       o   method - the	method called

       o   params - an array of	parameters for the method

       o   uid - the unique id for this	query

       o   context - the context id

   error_message()
       Get / sets the error message sent to the	client if an error occurred.

   process()
       Processes the current query and either returns the result from the
       appropriate method, or an error to the client and returns either	true
       or false, respectively, to the caller. An error will occur if the
       method name is blank, or	the method has not been	defined. This function
       takes an	optional CGI.pm	compatible object as an	input.

       Your subclass' method will be evaled and	will either return an error to
       the caller if it	died, or return	a valid	result payload on success.

   error()
       Returns a valid error payload to	the client and false to	the caller. It
       will automatically call error_message() for you.

   result()
       Returns a valid result payload to the client and	true to	the caller.

SEE ALSO
       o   http://www.ashleyit.com/rs

AUTHOR
       o   Brian Cassidy <brian@alternation.net>

COPYRIGHT AND LICENSE
       Copyright 2006 by Brian Cassidy

       This library is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself.

perl v5.32.0			  2006-09-29   JavaScript::RPC::Server::CGI(3)

NAME | SYNOPSIS | DESCRIPTION | INSTALLATION | METHODS | SEE ALSO | AUTHOR | COPYRIGHT AND LICENSE

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

home | help