JSON::RPC::Procedure.3pm

Langue: en

Autres versions - même langue

Version: 2007-12-18 (fedora - 01/12/10)

Section: 3 (Bibliothèques de fonctions)

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 <http://json-rpc.org/wd/JSON-RPC-1-1-WD-20060807.html>

AUTHOR

Makamaka Hannyaharamitu, <makamaka[at]cpan.org> 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.