Overview

Basic Usage

Simple dispatching by HTTP 1.1 Host::

import wfront

mapping = [('www.example.com', myapp, None),
           ('example.com', myapp, None),
           ('ajaxything.example.com:9001', ajaxyapp, None),
           ('otherapp.example.com', otherapp, None)]

router = wfront.route(mapping)

Flexible routing with logical port abstractions:

mapping = [('www.example.com:http', myapp, None),
           ('www.example.com:https', secureapp, None) ]

schemes = {'http': (80, 8000), 'https': (443, 8443)}
router = wfront.by_scheme(mapping, schemes)

Patch environ on the fly to adapt to proxy and WSGI server quirks:

mapping = [('www.example.com::/someapp', someapp, {'SCRIPT_NAME': '/'}),
           ('www.example.com:https:', secureapp, {'HTTPS': 'on'})]

router = wfront.route(mapping)

Plus HTTP 1.0 Host: compatibility helpers, adapters for Internet-facing web proxies, declarative environ rewriting rules, and more...

Notes

Tested with:

  • Apache 2.0 mod_proxy, mod_rewrite
  • Apache 2.2 mod_proxy, mod_rewrite, mod_proxy_ajp
  • Pound
  • Stunnel

Table Of Contents

Previous topic

WFront

Next topic

Mappings

This Page

Quick search

Enter search terms or a module, class or function name.