HTTP::Engine::Cookbook - How to cook a HTTP::Engine



The biggest advantage of using HTTP::Engine is to have one single request handler routine for your application:

    package MyApp;
    use HTTP::Engine::Response;

    sub handle_request {
        my ($request) = @_;
        # ...
        HTTP::Engine::Response->new( body => "Hello World" );

When it comes to deployment, you'll need to write additional handlers or modules based on different server environments.

Deploy your application as a CGI script.

The very basic and simple approach is to deploy your application as a CGI script. To do this, you need to write a CGI program like this:

    ## myapp.cgi

    use MyApp;
    use HTTP::Engine;
    my $engine = HTTP::Engine->new(
        interface => {
            module => 'CGI',
            request_handler => \&MyApp::handle_request

This CGI program can then be placed under the conventional cgi-bin/ directory as those defined in your server configuration.