NAME

HTTP::Engine::MinimalCGI - fast loading, minimal HTTP::Engine::Interface

SYNOPSIS

use HTTP::Engine::MinimalCGI;

my $engine = HTTP::Engine->new(
    interface => {
        module => 'MinimalCGI',
        request_handler => sub {
            my $req = shift;
            HTTP::Engine::Response->new(
                status => 200,
                body   => 'Hello, world!',
            );
        },
    },
);
$engine->run;

DESCRIPTION

HTTP::Engine::MinimalCGI implements a minimal version of the HTTP::Engine spec for the vanilla CGI environment. It has a very fast compile time-- on par with CGI::Simple or CGI.pm-- and is forward-compatible with the full HTTP::Engine spec. However, it is missing some features.

SUPPORTED METHODS

Request
    new
    hostname
    protocol
    method
    param
    upload

Response
    new
    header
    headers
    status
    body
    protocol
    content_length
    content_type
    cookies

WHY DO WE NEED THIS?

Some people says "HTTP::Engine is too heavy on my shared hosting account". Perhaps you believe that professional web developers don't use vanilla CGI. But newbies and small projects use shared hosting accounts and will find the performance of this solution in vanilla CGI is sufficient.

WARNINGS

DO NOT LOAD FULL SPEC HTTP::Engine AND THIS MODULE IN ONE PROCESS. HTTP::Engine::MinimalCGI provides alternative, conflicting implementations of the HTTP::Engine, HTTP::Engine::Request, HTTP::Engine::Response namespaces.

DEPENDENCIES

CGI::Simple, HTTP::Headers::Fast, Scalar::Util

AUTHORS

tokuhirom

CONTRIBUTORS

Mark Stosberg <mark@summersault.com> - helped with the documentation.