NAME

Lim - Framework for RESTful JSON/XML, JSON-RPC, XML-RPC and SOAP

VERSION

Version 0.20

SYNOPSIS

    use Lim;

DESCRIPTION

Lim provides a framework for calling plugins over multiple protocols.

It uses AnyEvent for async operations and SOAP::Lite, XMLRPC::Lite and JSON::XS for processing protocol messages.

There are 3 parts in Lim that can work independenly, a Server part, a Client part and a CLI part.

All plugins are also divded into these 3 parts and use the base classes Lim::Component::Server, Lim::Component::Client and Lim::Component::CLI.

The built in Server part is called Lim::Agent and can be started with lim-agentd. It will use Lim::Plugins to load all available plugins on the system and serve their Server part to Lim::Server if available.

The built in CLI part is called Lim::CLI and can be started with lim-cli. It will use Lim::Plugins to load all available plugins on the system and use their CLI part if available.

METHODS

Lim::OBJ_DEBUG

Semi constant sub that controls if object debugging information should sent to the log.

Lim::RPC_DEBUG

Semi constant sub that controls if RPC debugging information should sent to the log.

Lim::DEBUG

Semi constant sub that controls if debugging information should sent to the log.

Common usage: Lim::DEBUG and $self->{logger}->debug(...);

Lim::INFO

Semi constant sub that controls if informational logs should sent to the log.

Common usage: Lim::INFO and $self->{logger}->info(...);

Lim::WARN

Semi constant sub that controls if warnings should sent to the log.

Common usage: Lim::WARN and $self->{logger}->warn(...);

Lim::ERR

Semi constant sub that controls if errors should sent to the log.

Common usage: Lim::ERR and $self->{logger}->error(...);

Lim::Config ->{}

Return a hash reference to the configuration.

Lim::MergeConfig($config)

Try and merge the given hash reference $config into Lim's configuration.

Lim::LoadConfig($filename)

Load the given configuration $filename in YAML format and merge it into Lim's configuration.

Lim::LoadConfigDirectory($directory)

Load the given configuration in directory $directory and merge it into Lim's configuration.

Lim::ParseOptions(@options)

Parse options given at command line and add them into configuration. Option subgroups are seperated by . (for example log.obj_debug=0).

Lim::UpdateConfig

Used after LoadConfig and/or LoadConfigDirectory to update and do post configuration tasks.

AUTHOR

Jerry Lundström, <lundstrom.jerry at gmail.com>

BUGS

Please report any bugs or feature requests to https://github.com/jelu/lim/issues.

SUPPORT

You can find documentation for this module with the perldoc command.

    perldoc Lim

You can also look for information at:

ACKNOWLEDGEMENTS

LICENSE AND COPYRIGHT

Copyright 2012-2013 Jerry Lundström.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.