From 8c05b81d6860d8e0da4098cc6f59f630d7c53037 Mon Sep 17 00:00:00 2001 From: Adam Frisby Date: Tue, 25 Mar 2008 16:29:54 +0000 Subject: * Committing Lulurun's Cgi/Perl implementation of the UGAI servers. * I love you long time. --- share/perl/user.cgi | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 share/perl/user.cgi (limited to 'share/perl/user.cgi') diff --git a/share/perl/user.cgi b/share/perl/user.cgi new file mode 100644 index 0000000..3fa63aa --- /dev/null +++ b/share/perl/user.cgi @@ -0,0 +1,28 @@ +#!/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); + } +} + -- cgit v1.1