The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Gungho::Inline - Inline Your Providers And Handlers

SYNOPSIS

  use Gungho::Inline;
  use IO::Select;
  
  Gungho::Inline->run(
     $config,
     {
        provider => sub {
           my ($provider, $c) = @_;
           while (IO::Select->new(STDIN)->can_read(0)) {
              return if STDIN->eof;
              my $url = STDIN->getline;
              chomp $url;
              $provider->add_request($c->prepare_request(Gungho::Request->new(GET => $url)));
            }
        },
        handler => sub {
           my ($handler, $c, $req, $res) = @_;
           print $res->code, ' ', $req->uri, "\n";
        }
    }
  );

DESCRIPTION

Sometimes you don't need the full power of an independent Gungho Provider and or Handler. In those cases, Gungho::Inline saves you from creating separate packages

This module is still experimental. Feedback welcome

BACKWARDS COMPATIBILITY WITH VERSIONS < 0.08

From version 0.08 of Gungho::Inline, the parameter list passed to the handler and providers, as well as the run method has been changed. You can enable the old behavior if you do

   env GUNGHO_INLINE_OLD_PARAMETER_LIST=1 gungho 

or, somewhere in your code, create a subroutine constant:

   BEGIN
   {
       sub Gungho::Inline::OLD_PARAMETER_LIST { 1 };
   }
   use Gungho::Inline;

CONSTANTS

OLD_PARAMETER_LIST

If true, uses the old-style parameter list

METHODS

setup({ provider => $callback, handler => $callback, %args })

Sets up Gungho::Inline with this set of providers

AUTHOR

Original code by Kazuho Oku.