GitHunt
KA

kazuho/CGI-Application-Emulate-PSGI

a legacy-code-friendly PSGI adapter for CGI::Application

NAME
CGI::Application::Emulate::PSGI - a legacy-code-friendly PSGI adapter
for CGI::Application

SYNOPSIS
Create a PSGI application from a CGI::Application project:

    # if using CGI::Application
    my $psgi_app = CGI::Application::Emulate::PSGI->handler(sub {
        my $webapp = WebApp->new();
        $webapp->run();
    });

    # if using CGI::Application::Dispatch
    my $psgi_app = CGI::Application::Emulate::PSGI->handler(sub {
        WebApp::Dispatch->dispatch();
    });

See plackup for options for running a PSGI application.

DESCRIPTION
CGI::Application::Emulate::PSGI allows a project based on
CGI::Application to run as a PSGI application. Differences from
CGI::Application::PSGI are:

uses CGI.pm directly instead of CGI::PSGI
    CGI::Application::PSGI (that uses CGI::PSGI) does not support
    programs calling CGI.pm in func-style (like CGI::virtual_host()).
    CGI::Application::Emulate::PSGI sets up environment variables so
    that code using CGI.pm will work. Both approaches explictly use
    CGI.pm as the query object.

compatible with CGI::Application::Dispatch
    The interface of CGI::Application::Emulate::PSGI is different from
    CGI::Application::PSGI, and is compatible with
    CGI::Application::Dispatch.

headers are parsed and re-generated.
    This difference is in favor of CGI::Application::PSGI, which more
    directly generates the HTTP headers in PSGI format. This module
    requires additional processing: First CGI::Application builds the
    full response including the headers and body, then we parse the
    final result back into the header and body format called for by the
    PSGI spec.

AUTHOR
Kazuho Oku kazuhooku@gmail.com

LICENSE
This library is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.

SEE ALSO
CGI::Application::PSGI, CGI

Languages

Perl100.0%

Contributors

Created December 13, 2009
Updated September 25, 2025
kazuho/CGI-Application-Emulate-PSGI | GitHunt