JSON::RPC::Legacy::Server::Daemon(3pm)

JSON::RPC::Legacy::Server::Daemon3pm

Json-rpc sever for daemon

Usage

 # Daemon version
 #--------------------------
 # In your daemon server script
 use JSON::RPC::Legacy::Server::Daemon;
 
 JSON::RPC::Legacy::Server::Daemon->new(LocalPort => 8080);
                          ->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];
 }

Overview

This module is for http daemon servers using HTTP::Daemon or HTTP::Daemon::SSL.

Methods

They are inherited from the JSON::RPC::Legacy::Server methods basically. The below methods are implemented in JSON::RPC::Legacy::Server::Daemon.

new

Creates new JSON::RPC::Legacy::Server::Daemon object. Arguments are passed to HTTP::Daemon or HTTP::Daemon::SSL.

handle

Runs server object and returns a response.

retrieve_json_from_post

retrieves a JSON request from the body in POST method.

retrieve_json_from_get

In the protocol v1.1, 'GET' request method is also allowable. it retrieves a JSON request from the query string in GET method.

response

returns a response JSON data to a client.

Releases

6 releases since Debian 8 (Jessie); the text changed 4 times.

  1. 8
  2. 9–10
  3. 11
  4. 12
  5. 13

Author

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

From libjson-rpc-perl 1.06-4 in Debian 13 (Trixie). Parsed by carta from the page's man source.