GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  TOADFARM::MANUAL::CONFIG (3)

.ds Aq ’

NAME

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

CONTENTS

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.
o config => \%hash

This config param will override any config parameters already known in the target application. It will also generate a temporary config file which is available as MOJO_CONFIG|Mojolicious::Plugin::Config/file to the target application.

Note: These config params are set after startup() is called. (This will hopefully be changed/fixed in future release of Toadfarm)

o local_port => $str|$regex

Used to only accept requests on a given port access.

o mount_point => $str

The default mount point is /. Setting this to /foo will only make the application accessible under http://domain.com/foo.

o remote_address => $str|$regex

Used to only accept from a given address access.

o X-Request-Base => $str

This header will also set request base url when this rule match. This is the same funtionality that is provided by Mojolicious::Plugin::RequestBase.

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

AUTHOR

Jan Henning Thorsen - jhthorsen@cpan.org
Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 TOADFARM::MANUAL::CONFIG (3) 2015-10-01

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.