Writing Adapters

Depending on how "simple" the adapter code is allowed to be for a given server environment (see the table for a summary), you will either need to write a small piece of code which initialises and deploys your application, or to produce a more complicated piece of code which satisfies some more demanding server requirements.

Simple Adapters - Using the deploy Function

When deploying an application, it is possible to use a one-shot deployment function for BaseHTTPRequestServer, CGI, Twisted and WSGI. The deploy function is called as follows:

deploy(resource)
deploy(resource, authenticator) # where authenticators are used

For some frameworks, an address may be specified:

deploy(resource, address=(host_string, port_integer))
deploy(resource, authenticator, address=(host_string, port_integer))

Here is a summary of which frameworks require address information:

Framework Address Information
BaseHTTPRequestHandler Supported
CGI Ignored
Twisted Supported (host_string is ignored)
WSGI Ignored

Complicated Adapters - Providing Framework-Specific Objects

The remaining frameworks (Java Servlet, mod_python, Webware and Zope) do not support the deploy function due to the way applications are typically integrated into the various server mechanisms. In these cases, it may be worth investigating the examples provided and using their adapter code as a template for the code for your own applications.