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/inventory.cgi | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 share/perl/inventory.cgi (limited to 'share/perl/inventory.cgi') diff --git a/share/perl/inventory.cgi b/share/perl/inventory.cgi new file mode 100644 index 0000000..0542436 --- /dev/null +++ b/share/perl/inventory.cgi @@ -0,0 +1,39 @@ +#!/usr/bin/perl -w + +use strict; +use MyCGI; +use OpenSim::Config; +use OpenSim::InventoryServer; +use Carp; + +my $request_uri = $ENV{REQUEST_URI} || Carp::croak($OpenSim::Config::SYS_MSG{FATAL}); +my $request_method = ""; +if ($request_uri =~ /([^\/]+)\/$/) { + $request_method = $1; +} else { + &MyCGI::outputXml("utf-8", $OpenSim::Config::SYS_MSG{FATAL}); +} +my $param = &MyCGI::getParam(); +my $post_data = $param->{'POSTDATA'}; +&OpenSim::Utility::Log("inv", "request", $request_uri, $post_data); +my $response = ""; +eval { + $response = &handleRequest($request_method, $post_data); +}; +if ($@) { + $response = "$@"; +} +&OpenSim::Utility::Log("inv", "response", $response); +&MyCGI::outputXml("utf-8", $response); + +sub handleRequest { + my ($methodname, $post_data) = @_; + my $handler_list = &OpenSim::InventoryServer::getHandlerList(); + if (!$handler_list->{$methodname}) { + Carp::croak("unknown method name"); + } else { + my $handler = $handler_list->{$methodname}; + return $handler->($post_data); + } +} + -- cgit v1.1