- #!/usr/bin/env perl
-
- =pod
-
- =head1 NAME
-
- wrt-fcgi - Sample FastCGI wrapper script for App::WRT
-
- =head1 DESCRIPTION
-
- Pulls in App::WRT and CGI::Fast, runs a configuration file, and loops over
- FastCGI queries, passing their parameters to C<App::WRT::display()>.
-
- Useful for local testing of output. Please do not expose to the public web.
-
- =cut
-
- use strict;
- use warnings;
- no warnings 'uninitialized';
-
- use App::WRT;
- use CGI::Fast;
- use Getopt::Long;
- use Pod::Usage;
-
- # Handle options, including help generated from the POD above. See:
- # - http://perldoc.perl.org/Getopt/Long.html#User-defined-subroutines-to-handle-options
- # - https://metacpan.org/pod/Pod::Usage
- # - http://michael.thegrebs.com/2014/06/08/Pod-Usage/
- my $config_file = 'wrt.json';
- GetOptions(
- 'config=s' => \$config_file,
- help => sub { pod2usage(0) },
- ) or pod2usage(2);
-
- my $w = App::WRT::new_from_file($config_file);
-
- # use Data::Dumper;
-
- # Handle input from FastCGI:
- while (my $query = CGI::Fast->new) {
- my @params = $query->multi_param('keywords');
- print "Content-Type: text/html\n\n";
- print $w->display(@params);
- }
-
- exit;
|