Jan Henning Thorsen > Toadfarm-0.72 > Toadfarm::Manual::Config

Download:
Toadfarm-0.72.tar.gz

Annotate this POD

Website

View/Report Bugs
Source  

NAME ^

Toadfarm::Manual::Config - Config format for Toadfarm apps

DESCRIPTION ^

This manual gives in-depth information about the config options that can be given to an application.

Basics

The basic structure of the application is shown below. This document covers the %config part given to "mount" in Toadfarm::Manual::DSL.

  #!/usr/bin/perl
  use Toadfarm -init;
  mount "MyApp" => \%config;
  start;

Apps

The mount function is used to define the available apps that Toadfarm should serve.

The %config is either HTTP headers to trigger on or "Special fields".

The config example below contain all the special fields that you can use and a list of example headers to filter on. Each key (except "config") is used to filter the incoming request, and ALL the specified values must match for the request to get passed on to a given application.

  mount "Some::Application" => {

    # headers
    "Host"           => qr{^(www.)?example.com$},
    "User-Agent"     => qr{curl},
    "X-Request-Base" => "http://example.com/whatever",

    # special fields
    config         => {some_key => "value"},
    local_port     => 8080,
    mount_point    => "/myapp",
    remote_address => "127.0.0.1",
  };

Example HTTP request that will get sent to "Some::Application":

  -- Connect (http:example.com:8080)
  -- Client >>> Server (http://example.com/myapp)
  GET /myapp HTTP/1.1
  Connection: keep-alive
  Content-Length: 0
  Accept-Encoding: gzip
  Host: example.com
  User-Agent: curl/7.32.0
  X-Request-Base: http://example.com/whatever

So if "User-Agent" is "Mojolicious (Perl)" instead, but all the other headers match, then the request will NOT be passed on to "Some::Application".

Got difficulties getting a request through to an application? Try removing rules until the request gets through.

Special fields

Fields that are defined in the list below are special fields.

Additional special fields might be added, but they will always be in lower case.

AUTHOR ^

Jan Henning Thorsen - jhthorsen@cpan.org

syntax highlighting: