JSON::RPC::Server::Daemon.3pm

Langue: en

Autres versions - même langue

Version: 2008-02-25 (fedora - 01/12/10)

Section: 3 (Bibliothèques de fonctions)

NAME

JSON::RPC::Server::Daemon - JSON-RPC sever for daemon

SYNOPSIS

  # Daemon version
  #--------------------------
  # In your daemon server script
  use JSON::RPC::Server::Daemon;
  
  JSON::RPC::Server::Daemon->new(LocalPort => 8080);
                           ->dispatch({'/jsonrpc/API' => 'MyApp'})
                           ->handle();
  
  #--------------------------
  # In your application class
  package MyApp;
  
  use base qw(JSON::RPC::Procedure); # Perl 5.6 or more than
  
  sub echo : Public {    # new version style. called by clients
      # first argument is JSON::RPC::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];
  }
 
 

DESCRIPTION

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

METHODS

They are inherited from the JSON::RPC::Server methods basically. The below methods are implemented in JSON::RPC::Server::Daemon.
new
Creates new JSON::RPC::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.

SEE ALSO

HTTP::Daemon,

HTTP::Daemon::SSL,

JSON::RPC::Server,

JSON::RPC::Procedure,

JSON,

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

http://json-rpc.org/wiki/specification <http://json-rpc.org/wiki/specification>,

AUTHOR

Makamaka Hannyaharamitu, <makamaka[at]cpan.org> Copyright 2007-2008 by Makamaka Hannyaharamitu

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