1JSON::RPC::Legacy::ProcUesdeurreC(o3nptmr)ibuted Perl DoJcSuOmNe:n:tRaPtCi:o:nLegacy::Procedure(3pm)
2
3
4
6 JSON::RPC::Legacy::Procedure - JSON-RPC Service attributes
7
9 package MyApp;
10
11 use base ('JSON::RPC::Legacy::Procedure');
12
13 sub sum : Public {
14 my ($s, @arg) = @_;
15 return $arg[0] + $arg[1];
16 }
17
18 # or
19
20 sub sum : Public(a, b) {
21 my ($s, $obj) = @_;
22 return $obj->{a} + $obj->{b};
23 }
24
25 # or
26
27 sub sum : Number(a:num, b:num) {
28 my ($s, $obj) = @_;
29 return $obj->{a} + $obj->{b};
30 }
31
32 # private method can't be called by clients
33
34 sub _foobar : Private {
35 # ...
36 }
37
39 Using this module, you can write a subroutine with a special attribute.
40
41 Currently, in below attributes, only Public and Private are available.
42 Others are same as Public.
43
44 Public
45 Means that a client can call this procedure.
46
47 Private
48 Means that a client can't call this procedure.
49
50 Arr Means that its return values is an array object.
51
52 Obj Means that its return values is a member object.
53
54 Bit
55 Bool
56 Means that a return values is a "true" or "false".
57
58 Num Means that its return values is a number.
59
60 Str Means that its return values is a string.
61
62 Nil
63 None
64 Means that its return values is a "null".
65
67 Auto Service Description
68 Type check
69
71 <http://json-rpc.org/wd/JSON-RPC-1-1-WD-20060807.html>
72
74 Makamaka Hannyaharamitu, <makamaka[at]cpan.org>
75
77 Copyright 2007 by Makamaka Hannyaharamitu
78
79 This library is free software; you can redistribute it and/or modify it
80 under the same terms as Perl itself.
81
82
83
84perl v5.38.0 2023-07-20 JSON::RPC::Legacy::Procedure(3pm)