The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

RPC::Any::Server::XMLRPC::CGI - An XML-RPC server for a CGI environment

SYNOPSIS

use RPC::Any::Server::XMLRPC::CGI;
# Create a server where calling Foo.bar will call My::Module->bar.
my $server = RPC::Any::Server::XMLRPC::CGI->new(
   dispatch  => { 'Foo' => 'My::Module' },
   send_nil  => 0,
   allow_get => 0,
);
# Read from STDIN + the environment, and print result, including HTTP
# headers for a CGI environment, to STDOUT.
print $server->handle_input();

# HTTP & CGI servers also take HTTP::Request objects, if you want.
my $request = HTTP::Request->new(POST => '/');
$request->content('<?xml ... ');
print $server->handle_input($request);

DESCRIPTION

This is a subclass of RPC::Any::Server::XMLRPC::HTTP that has the functionality described in RPC::Any::Interface::CGI. Baically, it's just like the HTTP server, but it works properly in a CGI environment (where HTTP headers are in environment variables instead of on STDIN).