1JSON::RPC::Legacy::ClieUnste(r3pCmo)ntributed Perl DocumJeSnOtNa:t:iRoPnC::Legacy::Client(3pm)
2
3
4

NAME

6       JSON::RPC::Legacy::Client - Perl implementation of JSON-RPC client
7

SYNOPSIS

9          use JSON::RPC::Legacy::Client;
10
11          my $client = new JSON::RPC::Legacy::Client;
12          my $url    = 'http://www.example.com/jsonrpc/API';
13
14          my $callobj = {
15             method  => 'sum',
16             params  => [ 17, 25 ], # ex.) params => { a => 20, b => 10 } for JSON-RPC v1.1
17          };
18
19          my $res = $client->call($uri, $callobj);
20
21          if($res) {
22             if ($res->is_error) {
23                 print "Error : ", $res->error_message;
24             }
25             else {
26                 print $res->result;
27             }
28          }
29          else {
30             print $client->status_line;
31          }
32
33
34          # Easy access
35
36          $client->prepare($uri, ['sum', 'echo']);
37          print $client->sum(10, 23);
38

DESCRIPTION

40       This is JSON-RPC Client.  See
41       <http://json-rpc.org/wd/JSON-RPC-1-1-WD-20060807.html>.
42
43       Gets a perl object and convert to a JSON request data.
44
45       Sends the request to a server.
46
47       Gets a response returned by the server.
48
49       Converts the JSON response data to the perl object.
50

JSON::RPC::Legacy::Client

52   METHODS
53       $client = JSON::RPC::Legacy::Client->new
54           Creates new JSON::RPC::Legacy::Client object.
55
56       $response = $client->call($uri, $procedure_object)
57           Calls to $uri with $procedure_object.  The request method is
58           usually "POST".  If $uri has query string, method is "GET".
59
60           About 'GET' method, see to
61           <http://json-rpc.org/wd/JSON-RPC-1-1-WD-20060807.html#GetProcedureCall>.
62
63           Return value is "JSON::RPC::Legacy::ReturnObject".
64
65       $client->prepare($uri, $arrayref_of_procedure)
66           Allow to call methods in contents of $arrayref_of_procedure.  Then
67           you can call the prepared methods with an array reference or a
68           list.
69
70           The return value is a result part of
71           JSON::RPC::Legacy::ReturnObject.
72
73              $client->prepare($uri, ['sum', 'echo']);
74
75              $res = $client->echo('foobar');  # $res is 'foobar'.
76
77              $res = $client->sum(10, 20);     # sum up
78              $res = $client->sum( [10, 20] ); # same as above
79
80           If you call a method which is not prepared, it will "croak".
81
82           Currently, can't call any method names as same as built-in methods.
83
84       version
85           Sets the JSON-RPC protocol version.  1.1 by default.
86
87       id  Sets a request identifier.  In JSON-RPC 1.1, it is optional.
88
89           If you set "version" 1.0 and don't set id, the module sets
90           'JSON::RPC::Legacy::Client' to it.
91
92       ua  Setter/getter to LWP::UserAgent object.
93
94       json
95           Setter/getter to the JSON coder object.  Default is JSON, likes
96           this:
97
98              $self->json( JSON->new->allow_nonref->utf8 );
99
100              $json = $self->json;
101
102           This object serializes/deserializes JSON data.  By default,
103           returned JSON data assumes UTF-8 encoded.
104
105       status_line
106           Returns status code; After "call" a remote procedure, the status
107           code is set.
108
109       create_json_coder
110           (Class method) Returns a JSON de/encoder in "new".  You can
111           override it to use your favorite JSON de/encoder.
112

JSON::RPC::Legacy::ReturnObject

114       "call" method or the methods set by "prepared" returns this object.
115       (The returned JSON data is decoded by the JSON coder object which was
116       passed by the client object.)
117
118   METHODS
119       is_success
120           If the call is successful, returns a true, otherwise a false.
121
122       is_error
123           If the call is not successful, returns a true, otherwise a false.
124
125       error_message
126           If the response contains an error message, returns it.
127
128       result
129           Returns the result part of a data structure returned by the called
130           server.
131
132       content
133           Returns the whole data structure returned by the called server.
134
135       jsontext
136           Returns the row JSON data.
137
138       version
139           Returns the version of this response data.
140

JSON::RPC::Legacy::ServiceObject

RESERVED PROCEDURE

143       When a client call a procedure (method) name 'system.foobar',
144       JSON::RPC::Legacy::Server look up MyApp::system::foobar.
145
146       <http://json-rpc.org/wd/JSON-RPC-1-1-WD-20060807.html#ProcedureCall>
147
148       <http://json-rpc.org/wd/JSON-RPC-1-1-WD-20060807.html#ServiceDescription>
149
150       There is JSON::RPC::Legacy::Server::system::describe for default
151       response of 'system.describe'.
152

SEE ALSO

154       <http://json-rpc.org/wd/JSON-RPC-1-1-WD-20060807.html>
155
156       <http://json-rpc.org/wiki/specification>
157

AUTHOR

159       Makamaka Hannyaharamitu, <makamaka[at]cpan.org>
160
162       Copyright 2007-2008 by Makamaka Hannyaharamitu
163
164       This library is free software; you can redistribute it and/or modify it
165       under the same terms as Perl itself.
166
167
168
169perl v5.38.0                      2023-07-20    JSON::RPC::Legacy::Client(3pm)
Impressum