Provided by: libjson-rpc-perl_1.06-3_all bug

NAME

       JSON::RPC::Legacy::Server::Apache2 - JSON-RPC sever for mod_perl2

SYNOPSIS

        # In apache conf

        PerlRequire /your/path/start.pl
        PerlModule MyApp

        <Location /jsonrpc/API>
             SetHandler perl-script
             PerlResponseHandler JSON::RPC::Legacy::Server::Apache
             PerlSetVar dispatch "MyApp"
             PerlSetVar return_die_message 0
        </Location>

        #--------------------------
        # 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];
        }

DESCRIPTION

       Gets 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.

METHODS

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

       new Creates new JSON::RPC::Legacy::Server::Apache2 object.

       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

       JSON::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>,

AUTHOR

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

COPYRIGHT AND LICENSE

       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.