|
NAMEJSON::RPC::Legacy::Server::CGI - JSON-RPC sever for CGISYNOPSIS# CGI version #-------------------------- # In your CGI script use JSON::RPC::Legacy::Server::CGI; my $server = JSON::RPC::Legacy::Server::CGI->new; $server->dispatch('MyApp')->handle(); # or an array ref setting $server->dispatch( [qw/MyApp MyApp::Subclass/] )->handle(); # or a hash ref setting $server->dispatch( {'/jsonrpc/API' => 'MyApp'} )->handle(); #-------------------------- # In your application class package MyApp; use base qw(JSON::RPC::Legacy::Procedure); # Perl 5.6 or more than sub echo : Public { # new version style. called by clients # first argument is JSON::RPC::Legacy::Server object. return $_[1]; } sub sum : Public(a:num, b:num) { # sets value into object member a, b. my ($s, $obj) = @_; # return a scalar value or a hashref or an arryaref. return $obj->{a} + $obj->{b}; } sub a_private_method : Private { # ... can't be called by client } sub sum_old_style { # old version style. taken as Public my ($s, @arg) = @_; return $arg[0] + $arg[1]; } DESCRIPTIONGets a client request.Parses its JSON data. Passes the server object and the object decoded from the JSON data to your procedure (method). Takes your returned value (scalar or arrayref or hashref). Sends a response. Well, you write your procedure code only. METHODSThey are inherited from the JSON::RPC::Legacy::Server methods basically. The below methods are implemented in JSON::RPC::Legacy::Server::CGI.
SEE ALSOJSON::RPC::Legacy::Server,JSON::RPC::Legacy::Procedure, JSON, <http://json-rpc.org/wd/JSON-RPC-1-1-WD-20060807.html>, <http://json-rpc.org/wiki/specification>, AUTHORMakamaka Hannyaharamitu, <makamaka[at]cpan.org>COPYRIGHT AND LICENSECopyright 2007-2008 by Makamaka HannyaharamituThis library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Visit the GSP FreeBSD Man Page Interface. |