Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
JSON::RPC::Legacy::ProUserrContributed Perl DocJSON::RPC::Legacy::Procedure(3)

NAME
       JSON::RPC::Legacy::Procedure - JSON-RPC Service attributes

SYNOPSIS
	package	MyApp;

	use base ('JSON::RPC::Legacy::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.

perl v5.24.1			  2017-07-02   JSON::RPC::Legacy::Procedure(3)

NAME | SYNOPSIS | DESCRIPTION | TODO | SEE ALSO | AUTHOR | COPYRIGHT AND LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=JSON::RPC::Legacy::Procedure&sektion=3&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help