HTTP::Request::AsCGI(3User Contributed Perl DocumentatiHTTP::Request::AsCGI(3)NAMEHTTP::Request::AsCGI - Set up a CGI environment from an HTTP::Request
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 CGI environment from an
HTTP::Request.
METHODS
new ( $request [, key => value ] )
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 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.
AUTHORS
Christian Hansen <ch@ngmedia.com> Hans Dieter Pearcey <hdp@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2010 by Christian Hansen
<ch@ngmedia.com>.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
perl v5.14.1 2010-01-12 HTTP::Request::AsCGI(3)