NAME

Gungho::Inline - Inline Your Providers And Handlers (Deprecated)

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 a thin wrapper around Gungho that allows you to specify subroutine references instead of a full config.

As of Gungho 0.09003, inlined handlers and providers are supported natively. The only reason to use this module is for you to use the old parameter list.

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.