JSON::RPC::Legacy::Client(3pm) | User Contributed Perl Documentation | JSON::RPC::Legacy::Client(3pm) |
JSON::RPC::Legacy::Client - Perl implementation of JSON-RPC client
use JSON::RPC::Legacy::Client; my $client = new JSON::RPC::Legacy::Client; my $url = 'http://www.example.com/jsonrpc/API'; my $callobj = { method => 'sum', params => [ 17, 25 ], # ex.) params => { a => 20, b => 10 } for JSON-RPC v1.1 }; my $res = $client->call($uri, $callobj); if($res) { if ($res->is_error) { print "Error : ", $res->error_message; } else { print $res->result; } } else { print $client->status_line; } # Easy access $client->prepare($uri, ['sum', 'echo']); print $client->sum(10, 23);
This is JSON-RPC Client. See <http://json-rpc.org/wd/JSON-RPC-1-1-WD-20060807.html>.
Gets a perl object and convert to a JSON request data.
Sends the request to a server.
Gets a response returned by the server.
Converts the JSON response data to the perl object.
About 'GET' method, see to <http://json-rpc.org/wd/JSON-RPC-1-1-WD-20060807.html#GetProcedureCall>.
Return value is "JSON::RPC::Legacy::ReturnObject".
The return value is a result part of JSON::RPC::Legacy::ReturnObject.
$client->prepare($uri, ['sum', 'echo']); $res = $client->echo('foobar'); # $res is 'foobar'. $res = $client->sum(10, 20); # sum up $res = $client->sum( [10, 20] ); # same as above
If you call a method which is not prepared, it will "croak".
Currently, can't call any method names as same as built-in methods.
If you set "version" 1.0 and don't set id, the module sets 'JSON::RPC::Legacy::Client' to it.
$self->json( JSON->new->allow_nonref->utf8 ); $json = $self->json;
This object serializes/deserializes JSON data. By default, returned JSON data assumes UTF-8 encoded.
"call" method or the methods set by "prepared" returns this object. (The returned JSON data is decoded by the JSON coder object which was passed by the client object.)
When a client call a procedure (method) name 'system.foobar', JSON::RPC::Legacy::Server look up MyApp::system::foobar.
<http://json-rpc.org/wd/JSON-RPC-1-1-WD-20060807.html#ProcedureCall>
<http://json-rpc.org/wd/JSON-RPC-1-1-WD-20060807.html#ServiceDescription>
There is JSON::RPC::Legacy::Server::system::describe for default response of 'system.describe'.
<http://json-rpc.org/wd/JSON-RPC-1-1-WD-20060807.html>
<http://json-rpc.org/wiki/specification>
Makamaka Hannyaharamitu, <makamaka[at]cpan.org>
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.
2015-06-12 | perl v5.20.2 |