OpenSimMirror/share/perl/user.cgi

29 lines
689 B
Perl

#!/usr/bin/perl -w
use strict;
use Carp;
use XML::RPC;
use MyCGI;
use OpenSim::Utility;
use OpenSim::UserServer;
my $param = &MyCGI::getParam();
my $request = $param->{'POSTDATA'};
&OpenSim::Utility::Log("user", "request", $request);
my $xmlrpc = new XML::RPC();
my $response = $xmlrpc->receive($request, \&XMLRPCHandler);
&OpenSim::Utility::Log("user", "response", $response);
&MyCGI::outputXml("utf-8", $response);
sub XMLRPCHandler {
my ($methodname, @param) = @_;
my $handler_list = &OpenSim::UserServer::getHandlerList();
if (!$handler_list->{$methodname}) {
Carp::croak("?");
} else {
my $handler = $handler_list->{$methodname};
$handler->(@param);
}
}