JSON::...:Daemon(3pm)

πŸ’– NAME πŸ’–

JSON::RPC::Legacy::Server::Daemon β€” JSON-RPC sever for daemon. Yes bestie, β€œsever” is right there in the original, and we are not fixing it πŸ’€

Okay welcome to the JSON::...:Daemon(3pm) page from User Contributed Perl Documentation β€” group-chat voice on, facts fully intact ✨

✨ SYNOPSIS ✨

Okay so here’s the whole daemon + app-class setup. Copy the code exactly, bestie β€” this is the iykyk part 🫢

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

πŸ¦‹ DESCRIPTION πŸ¦‹

This module is for http daemon servers using HTTP::Daemon or HTTP::Daemon::SSL. Literally that’s the job πŸ¦‹

πŸŽ€ 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.

🌸 SEE ALSO 🌸

Go touch grass in these docs too 🌸:

πŸ‘‘ AUTHOR πŸ‘‘

Makamaka Hannyaharamitu, <makamaka[at]cpan.org> β€” icon behavior πŸ‘‘

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.


That’s the whole page, bestie 🫢 β€” JSON::...:Daemon(3pm), from perl v5.42.0, dated 2015-08-27. Bye πŸ’–

πŸ“¦ where this page comes from