Mojolicious-Plugin-CGI
view release on metacpan or search on metacpan
SERVER_NAME = Sys::Hostname::hostname()
SERVER_SOFTWARE = "Mojolicious::Plugin::CGI"
Plus all headers are exposed. Examples:
.----------------------------------------.
| Header | Variable |
|-----------------|----------------------|
| Referer | HTTP_REFERER |
| User-Agent | HTTP_USER_AGENT |
| X-Forwarded-For | HTTP_X_FORWARDED_FOR |
'----------------------------------------'
register
$self->register($app, [ $route => $script ]);
$self->register($app, %args);
$self->register($app, \%args);
"route" and path need to exist as keys in %args unless given as plain
arguments.
lib/Mojolicious/Plugin/CGI.pm view on Meta::CPAN
SERVER_NAME = Sys::Hostname::hostname()
SERVER_SOFTWARE = "Mojolicious::Plugin::CGI"
Plus all headers are exposed. Examples:
.----------------------------------------.
| Header | Variable |
|-----------------|----------------------|
| Referer | HTTP_REFERER |
| User-Agent | HTTP_USER_AGENT |
| X-Forwarded-For | HTTP_X_FORWARDED_FOR |
'----------------------------------------'
=head2 register
$self->register($app, [ $route => $script ]);
$self->register($app, %args);
$self->register($app, \%args);
C<route> and L<path> need to exist as keys in C<%args> unless given as plain
arguments.
->content_like(qr{^REMOTE_USER=}m, 'REMOTE_USER=')
->content_like(qr{^REQUEST_METHOD=GET}m, 'REQUEST_METHOD=GET')
->content_like(qr{^SCRIPT_FILENAME=\S+/t/cgi-bin/env\.cgi}m,
'SCRIPT_FILENAME=\S+/t/cgi-bin/env\.cgi')
->content_like(qr{^SCRIPT_NAME=/env/basic\W*$}m, 'SCRIPT_NAME=env/basic')
->content_like(qr{^SERVER_PORT=\d+}m, 'SERVER_PORT=\d+')
->content_like(qr{^SERVER_PROTOCOL=HTTP}m, 'SERVER_PROTOCOL=HTTP')
->content_like(qr{^SERVER_SOFTWARE=Mojolicious::Plugin::CGI}m,
'SERVER_SOFTWARE=Mojolicious::Plugin::CGI')->content_like(qr{^THE_ANSWER=42}m, 'THE_ANSWER=42');
$t->get_ok('/env/basic/foo' => {'Referer' => 'http://thorsen.pm', 'X-Forwarded-For' => '1.2.3.4'})
->status_is(200)
->content_like(qr{^HTTP_REFERER=http://thorsen\.pm}m, 'HTTP_REFERER=http://thorsen.pm')
->content_like(qr{^HTTP_X_FORWARDED_FOR=1\.2\.3\.4}m, 'HTTP_X_FORWARDED_FOR=1.2.3.4');
done_testing;
( run in 1.659 second using v1.01-cache-2.11-cpan-26ccb49234f )