NAME
JSONRPC - Perl implementation of JSON-RPC protocol
SYNOPSIS
#--------------------------
# In your application class
package MyApp;
sub own_method { # called by clients
my ($server, @params) = @_; # $server is JSONRPC object.
...
# return a scalar value or a hashref or an arryaref.
}
#--------------------------
# In your main cgi script.
use JSONRPC::Transport::HTTP;
use MyApp;
# a la XMLRPC::Lite
JSONRPC::Transport::HTTP::CGI->dispatch_to('MyApp')->handle();
#--------------------------
# Client version
use JSONRPC::Transport::HTTP;
my $uri = 'http://www.example.com/MyApp/Test/';
my $res = JSONRPC::Transport::HTTP
->proxy($uri)
->call('echo',['This is test.'])
->result;
if($res->error){
print $res->error,"\n";
}
else{
print $res->result,"\n";
}
# or
my $client = JSONRPC::Transport::HTTP->proxy($uri);
print $client->echo('This is test.'); # the alias, _echo is same.
DESCRIPTION
This module implementes JSON-RPC (http://json-rpc.org/) server and client. Most ideas were borrowed from XMLRPC::Lite. Currently JSONRPC
provides CGI server function.
METHOD
- dispatch_to
- handle
- jsonParser
-
The accessor of a JSON::Parser object.
my $srv = JSONRPC::Transport::HTTP::CGI->new; $srv->jsonParser->{unmapping} = 1;
- jsonConverter
-
The accessor of a JSON::Converter object.
- proxy($uri,[$proxy_uri])
-
takes a service uri and optional proxy uri. returns a client object.
SEE ALSO
JSONRPC::Transport::HTTP JSON XMLRPC::Lite http://json-rpc.org/
AUTHOR
Makamaka Hannyaharamitu, <makamaka[at]cpan.org>
COPYRIGHT AND LICENSE
Copyright 2005-2007 by Makamaka Hannyaharamitu
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.