diff options
author | jeff <jeff> | 2007-08-06 08:51:19 +0000 |
---|---|---|
committer | jeff <jeff> | 2007-08-06 08:51:19 +0000 |
commit | 29bf787a0f758f8be078e14a5670e114f9219c11 (patch) | |
tree | e18a9e83f81a5632b445537a7ea27e29e5973783 /fs_selfservice/FS-SelfService/cgi/xmlrpc.cgi | |
parent | 026ae067dae09ace77e9af30c9a61761acf2273c (diff) |
add selfservice xmlrpc facilities (#591) (backport)
Diffstat (limited to 'fs_selfservice/FS-SelfService/cgi/xmlrpc.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; + |