diff options
author | jeff <jeff> | 2007-08-06 08:46:06 +0000 |
---|---|---|
committer | jeff <jeff> | 2007-08-06 08:46:06 +0000 |
commit | 8a84bdd24ab863b34a62bef0dfb6c925322fefcf (patch) | |
tree | f63857fbbff747c2e9292091e5359da8fd23f969 /fs_selfservice/FS-SelfService/cgi | |
parent | 626850462b855ee897f61a9e10917a0aca322aee (diff) |
add selfservice xmlrpc facilities (#591)
Diffstat (limited to 'fs_selfservice/FS-SelfService/cgi')
-rw-r--r-- | fs_selfservice/FS-SelfService/cgi/xmlrpc.cgi | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/fs_selfservice/FS-SelfService/cgi/xmlrpc.cgi b/fs_selfservice/FS-SelfService/cgi/xmlrpc.cgi new file mode 100644 index 000000000..559ae04d8 --- /dev/null +++ b/fs_selfservice/FS-SelfService/cgi/xmlrpc.cgi @@ -0,0 +1,18 @@ +#!/usr/bin/perl -Tw + +use strict; +use XMLRPC::Transport::HTTP; +use XMLRPC::Lite; # for XMLRPC::Serializer +use FS::SelfService::XMLRPC; + +my %typelookup = ( + base64 => [10, sub {$_[0] =~ /[^\x09\x0a\x0d\x20-\x7f]/}, 'as_base64'], + dateTime => [35, sub {$_[0] =~ /^\d{8}T\d\d:\d\d:\d\d$/}, 'as_dateTime'], + string => [40, sub {1}, 'as_string'], +); +my $serializer = new XMLRPC::Serializer(typelookup => \%typelookup); + +XMLRPC::Transport::HTTP::CGI->dispatch_to('FS::SelfService::XMLRPC') + ->serializer($serializer) + ->handle; + |