Kevin L. Esteb > XAS-0.04 > XAS::Lib::RPC::JSON::Server

Download:
XAS-0.04.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 0.02   Source   Latest Release: XAS-0.05

NAME ^

XAS::Lib::RPC::JSON::Server - A JSON RPC interface for the XAS environment

SYNOPSIS ^

 my $server = XAS::Lib::RPC::JSON::Server->new(
     -alias   => 'server',
     -port    => '9505',
     -address => 'localhost',
     -logger  => 'logger'
 );

DESCRIPTION ^

This modules implements a simple JSON RPC v2.0 server. It needs to be extended to be usefull. This runs as a POE session. It doesn't support "Notification" calls.

METHODS ^

new

This initializes the module and starts listening for requests. There are five parameters that can be passed. They are the following:

-alias

The name of the POE session.

-port

The IP port to listen on (default 9505).

-address

The address to bind to (default 127.0.0.1).

-logger

The name of the logger session.

process($packet, $wheel)

This method will attempt to parse the JSON RPC packet and call the correct RPC method. While returning the correct response to the client.

The method called will be prefixed with "do_". So if the client wants to call a "reverse" method, the server will call a "do_reverse" method and return the response.

$packet

The packet received from the socket.

$wheel

The current POE wheel.

log($level, $message)

This method will send log message to the logger session.

$level

The log level.

$message

The message to log.

SEE ALSO ^

XAS

AUTHOR ^

Kevin L. Esteb, <kevin@kesteb.us>

COPYRIGHT AND LICENSE ^

Copyright (C) 2012 by Kevin L. Esteb

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available.

syntax highlighting: