Sponsoring The Perl Toolchain Summit 2025: Help make this important event another success Learn more

package TestProject;
use Dancer ':syntax';
# Register calls directly via POD
xmlrpc '/system' => {
publish => 'pod',
arguments => ['TestProject::SystemCalls'],
};
# Register calls directly via POD
xmlrpc '/api' => {
publish => 'pod',
arguments => ['TestProject::ApiCalls'],
};
# Register calls via YAML-config
xmlrpc '/config/system' => { publish => 'config' };
xmlrpc '/config/api' => { publish => 'config' };
# Register calls directly via POD
jsonrpc '/jsonrpc/api' => {
publish => 'pod',
arguments => ['TestProject::ApiCalls']
};
# Register calls via YAML-config
jsonrpc '/jsonrpc/admin' => { publish => 'config' };
restrpc '/rest/system' => {
publish => 'pod',
arguments => ['TestProject::SystemCalls'],
};
restrpc '/rest/api' => { publish => 'config' };
true;
__END__
xmlrpc:
/system system.ping
/system system.version
/api api.uppercase (argument)
/config/system system.ping
/config/system system.version
/config/api api.uppercase (argument)
jsonrpc:
/jsonrpc/api api.uppercase (argument)
/jsonrpc/admin ping
/jsonrpc/admin version
/jsonrpc/admin uppercase (argument)
restrpc:
/rest/system/ping
/rest/system/version
/rest/api/uppercase