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

HTTP::Server::Simple::CGI - CGI.pm-style version of HTTP::Server::Simple

DESCRIPTION

HTTP::Server::Simple was already simple, but some smart-ass pointed out that there is no CGI in HTTP, and so this module was born to isolate the CGI.pm-related parts of this handler.

accept_hook

The accept_hook in this sub-class clears the environment to the start-up state.

post_setup_hook

Initializes the global CGI object, as well as other environment settings.

cgi_class [Classname]

Gets or sets the class to use for creating the $cgi object passed to handle_request.

Called with a single argument, it sets the coderef. Called with no arguments, it returns this field's current value.

To provide an initialization subroutine to be run in the post_setup_hook, see "cgi_init".

e.g.

$server->cgi_class('CGI');

$server->cgi_init(sub {
    require CGI;
    CGI::initialize_globals();
});

or, if you want to use CGI::Simple,

$server->cgi_class('CGI::Simple');
$server->cgi_init(sub {
    require CGI::Simple;
});

cgi_init [CODEREF]

A coderef to run in the post_setup_hook.

Called with a single argument, it sets the coderef. Called with no arguments, it returns this field's current value.

setup

This method sets up CGI environment variables based on various meta-headers, like the protocol, remote host name, request path, etc.

See the docs in HTTP::Server::Simple for more detail.

handle_request CGI

This routine is called whenever your server gets a request it can handle.

It's called with a CGI object that's been pre-initialized. You want to override this method in your subclass

handler

Handler implemented as part of HTTP::Server::Simple API