JSON::RPC::Procedure - JSON-RPC Service attributes



NAME

JSON::RPC::Procedure - JSON-RPC Service attributes


SYNOPSIS

 package MyApp;
 
 use base ('JSON::RPC::Procedure');
 
 sub sum : Public {
     my ($s, @arg) = @_;
     return $arg[0] + $arg[1];
 }
 
 # or 
 
 sub sum : Public(a, b) {
     my ($s, $obj) = @_;
     return $obj->{a} + $obj->{b};
 }
 
 # or 
 
 sub sum : Number(a:num, b:num) {
     my ($s, $obj) = @_;
     return $obj->{a} + $obj->{b};
 }
 
 # private method can't be called by clients
 
 sub _foobar : Private {
     # ...
 }


DESCRIPTION

Using this module, you can write a subroutine with a special attribute.

Currently, in below attributes, only Public and Private are available. Others are same as Public.

Public
Means that a client can call this procedure.

Private
Means that a client can't call this procedure.

Arr
Means that its return values is an array object.

Obj
Means that its return values is a member object.

Bit
Bool
Means that a return values is a true or false.

Num
Means that its return values is a number.

Str
Means that its return values is a string.

Nil
None
Means that its return values is a null.


TODO

Auto Service Description
Type check


SEE ALSO

http://json-rpc.org/wd/JSON-RPC-1-1-WD-20060807.html


AUTHOR

Makamaka Hannyaharamitu, <makamaka[at]cpan.org>


COPYRIGHT AND LICENSE

Copyright 2007 by Makamaka Hannyaharamitu

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

 JSON::RPC::Procedure - JSON-RPC Service attributes