VERSION

version 1.2

SYNOPSIS

    use CGI;
    use HTTP::Request;
    use HTTP::Request::AsCGI;

    my $request = HTTP::Request->new( GET => 'http://www.host.com/' );
    my $stdout;

    {
        my $c = HTTP::Request::AsCGI->new($request)->setup;
        my $q = CGI->new;

        print $q->header,
              $q->start_html('Hello World'),
              $q->h1('Hello World'),
              $q->end_html;

        $stdout = $c->stdout;

        # environment and descriptors will automatically be restored
        # when $c is destructed.
    }

    while ( my $line = $stdout->getline ) {
        print $line;
    }

DESCRIPTION

Provides a convenient way of setting up an \s-1CGI\s0 environment from an HTTP::Request.

METHODS

Constructor. The first argument must be a instance of HTTP::Request, followed by optional pairs of environment key and value.

environment

Returns a hashref containing the environment that will be used in setup. Changing the hashref after setup has been called will have no effect.

setup

Sets up the environment and descriptors.

restore

Restores the environment and descriptors. Can only be called after setup.

request

Returns the request given to constructor.

response

Returns a HTTP::Response. Can only be called after restore.

stdin

Accessor for handle that will be used for \s-1STDIN\s0, must be a real seekable handle with an file descriptor. Defaults to a tempoary IO::File instance.

stdout

Accessor for handle that will be used for \s-1STDOUT\s0, must be a real seekable handle with an file descriptor. Defaults to a tempoary IO::File instance.

stderr

Accessor for handle that will be used for \s-1STDERR\s0, must be a real seekable handle with an file descriptor.

RELATED TO HTTP::Request::AsCGI…

examples directory in this distribution.
WWW::Mechanize::CGI
Test::WWW::Mechanize::CGI

THANKS TO

Thomas L. Shinnick for his valuable win32 testing.

AUTHORS

Christian Hansen <[email protected]> Hans Dieter Pearcey <[email protected]>

COPYRIGHT AND LICENSE

This software is copyright (c) 2010 by Christian Hansen <[email protected]>.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.