NAME
HTTP::Request::AsCGI - Setup a CGI enviroment from a HTTP::Request
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;
# enviroment and descriptors will automatically be restored
# when $c is destructed.
}
while ( my $line = $stdout->getline ) {
print $line;
}
DESCRIPTION
Provides a convinient way of setting up an CGI enviroment from a HTTP::Request.
METHODS
- new ( $request [, key => value ] )
-
Contructor, first argument must be a instance of HTTP::Request followed by optional pairs of environment key and value.
- enviroment
-
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
-
Setups the environment and descriptors.
- restore
-
Restores the enviroment 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 STDIN, 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 STDOUT, 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 STDERR, must be a real seekable handle with an file descriptor.
SEE ALSO
- examples directory in this distribution.
- WWW::Mechanize::CGI
- Test::WWW::Mechanize::CGI
THANKS TO
Thomas L. Shinnick for his valuable win32 testing.
AUTHOR
Christian Hansen, ch@ngmedia.com
LICENSE
This library is free software. You can redistribute it and/or modify it under the same terms as perl itself.