JSON::RPC man page on Fedora

Man page or keyword search:  
man Server   31170 pages
apropos Keyword Search (all sections)
Output format
Fedora logo
[printable version]

JSON::RPC(3)	      User Contributed Perl Documentation	  JSON::RPC(3)

NAME
       JSON::RPC - Perl implementation of JSON-RPC 1.1 protocol

DESCRIPTION
	JSON-RPC is a stateless and light-weight remote procedure call (RPC)
	protocol for inter-networking applications over HTTP. It uses JSON
	as the data format for of all facets of a remote procedure call,
	including all application data carried in parameters.

       quoted from http://json-rpc.org/wd/JSON-RPC-1-1-WD-20060807.html
       <http://json-rpc.org/wd/JSON-RPC-1-1-WD-20060807.html>.

       This module was in JSON package on CPAN before.	Now its interfaces was
       completely changed.

       The old modules - JSONRPC::Transport::HTTP and Apache::JSONRPC are
       deprecated.  Please try to use JSON::RPC::Server and JSON::RPC::Client
       which support both JSON-RPC protocol version 1.1 and 1.0.

EXAMPLES
       CGI version.

	#--------------------------
	# In your application class
	package MyApp;

	use base qw(JSON::RPC::Procedure); # Perl 5.6 or more than

	sub echo : Public {    # new version style. called by clients
	    # first argument is JSON::RPC::Server object.
	    return $_[1];
	}

	sub sum : Public(a:num, b:num) { # sets value into object member a, b.
	    my ($s, $obj) = @_;
	    # return a scalar value or a hashref or an arryaref.
	    return $obj->{a} + $obj->{b};
	}

	sub a_private_method : Private {
	    # ... can't be called by client
	}

	sub sum_old_style {  # old version style. taken as Public
	    my ($s, @arg) = @_;
	   return $arg[0] + $arg[1];
	}

	#--------------------------
	# In your triger script.
	use JSON::RPC::Server::CGI;
	use MyApp;

	# simple
	 JSON::RPC::Server::CGI->dispatch('MyApp')->handle();

	# or
	JSON::RPC::Server::CGI->dispatch([qw/MyApp FooBar/])->handle();

	# or INFO_PATH version
	JSON::RPC::Server::CGI->dispatch({'/Test' => 'MyApp'})->handle();

	#--------------------------
	# Client
	use JSON::RPC::Client;

	my $client = new JSON::RPC::Client;

	my $uri = 'http://www.example.com/jsonrpc/Test';
	my $obj = {
	   method  => 'sum', # or 'MyApp.sum'
	   params  => [10, 20],
	};

	my $res = $client->call( $uri, $obj )

	if($res){
	   if ($res->is_error) {
	       print "Error : ", $res->error_message;
	   }
	   else {
	       print $res->result;
	   }
	}
	else {
	   print $client->status_line;
	}

	# or

	$client->prepare($uri, ['sum', 'echo']);
	print $client->sum(10, 23);

       See to JSON::RPC::Server::CGI, JSON::RPC::Server::Daemon,
       JSON::RPC::Server::Apache JSON::RPC::Client and JSON::RPC::Procedure.

ABOUT NEW VERSION
       supports JSON-RPC protocol v1.1

TODO
       Document
       Examples
       More Tests

AUTHOR
       Makamaka Hannyaharamitu, <makamaka[at]cpan.org>

COPYRIGHT AND LICENSE
       Copyright 2007-2008 by Makamaka Hannyaharamitu

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

perl v5.14.1			  2008-02-25			  JSON::RPC(3)
[top]

List of man pages available for Fedora

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net