Mojolicious-Plugin-CGI

 view release on metacpan or  search on metacpan

README  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 |
      '----------------------------------------'

  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.

t/basic.t  view on Meta::CPAN

  ->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 0.725 second using v1.01-cache-2.11-cpan-26ccb49234f )