jsonrpc(3) - Linux man page

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.

Transition Plan

In the next large update version, JSON and JSONRPC modules are split.

JSONRPC* and Apache::JSONRPC are deleted from JSON dist.
JSONRPC::Client, JSONRPC::Server and JSONRPC::Procedure in JSON::RPC dist.

Modules in JSON::RPC dist supports JSONRPC protocol v1.1 and 1.0.

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.