WebKit.AppServer | index /usr/local/share/webware/WebKit/AppServer.py

`The AppServer singleton.
The `AppServer` singleton is the controlling object/process/thread.
`AppServer` receives requests and dispatches them to `Application`
(via `Application.dispatchRawRequest`).
There is only one instance of AppServer, `globalAppServer` contains
that instance. Use it like:
from WebKit.AppServer import globalAppServer
`ThreadedAppServer` completes the implementation, dispatching
these requests to separate threads. `AppServer`, at least in the
abstract, could support different execution models and environments,
but that support is not yet realized (Will it ever be realized?).
The distinction between `AppServer` and `Application` is somewhat
vague -- both are global singletons and both handle dispatching requests.
`AppServer` works on a lower level, handling sockets and threads.`

Modules
`` |  |
WebKit.Profiler | os | sys |

Classes
`` |  | WebKit.ConfigurableForServerSidePath.ConfigurableForServerSidePath(MiscUtils.Configurable.Configurable) AppServer
class AppServer(WebKit.ConfigurableForServerSidePath.ConfigurableForServerSidePath)
`` | `The AppServer singleton. Purpose and usage are explained in the module docstring.`
| Method resolution order: AppServer WebKit.ConfigurableForServerSidePath.ConfigurableForServerSidePath MiscUtils.Configurable.Configurable __builtin__.object Methods defined here: __init__(self, path=None) `Sets up and starts the `AppServer`. `path` is the working directory for the AppServer (directory in which AppServer is contained, by default) This method loads plugins, creates the Application object, and starts the request handling loop.` application(self) `Return the Application singleton.` checkForInstall(self) `Check whether Webware was installed. Exits with an error message if Webware was not installed. Called from `__init__`.` closeThread(self) `This method is called when the shutdown sequence is initiated.` configFilename(self) `Return the name of the AppServer configuration file.` configReplacementValues(self) `Get config values that need to be escaped.` createApplication(self) `Create and return an application object. Invoked by __init__.` defaultConfig(self) `The default AppServer.config.` initiateShutdown(self) `Ask the master thread to begin the shutdown.` isPersistent(self) `Check whether the AppServer is persistent. When using `OneShot`, the AppServer will exist only for a single request, otherwise it will stay around indefinitely.` loadPlugIn(self, path) `Load and return the given plug-in. May return None if loading was unsuccessful (in which case this method prints a message saying so). Used by `loadPlugIns` (note the **s**).` loadPlugIns(self) `Load all plug-ins. A plug-in allows you to extend the functionality of WebKit without necessarily having to modify its source. Plug-ins are loaded by AppServer at startup time, just before listening for requests. See the docs in `WebKit.PlugIn` for more info.` numRequests(self) `Return the number of requests. Returns the number of requests received by this app server since it was launched.` plugIn(self, name, default=<class 'MiscUtils.NoDefault'>) `Return the plug-in with the given name.` plugIns(self) `Return a list of the plug-ins loaded by the app server. Each plug-in is a Python package.` printStartUpMessage(self) `Invoked by __init__, prints a little intro.` readyForRequests(self) `Declare ready for getting requests. Should be invoked by subclasses when they are finally ready to accept requests. Records some stats and prints a message.` recordPID(self) `Save the pid of the AppServer to a file.` serverSidePath(self, path=None) `Return the absolute server-side path of the WebKit app server. If the optional path is passed in, then it is joined with the server side directory to form a path relative to the app server.` shutDown(self) `Shut down the AppServer. Subclasses may override and normally follow this sequence: 1. set self._running = 1 (request to shut down) 2. class specific statements for shutting down 3. Invoke super's shutDown() e.g., `AppServer.shutDown(self)` 4. set self._running = 0 (server is completely down)` startTime(self) `Return the time the app server was started. The time is given as seconds, like time().` version(self) `Return WebKit version.` webKitPath(self) `Return teh WebKit path.` webwarePath(self) `Return the Webware path.` Methods inherited from WebKit.ConfigurableForServerSidePath.ConfigurableForServerSidePath: setting(self, name, default=<class 'MiscUtils.NoDefault'>) `Return setting, using the server side path when indicated. Returns the setting, filtered by serverSidePath(), if the name ends with ``Filename`` or ``Dir``.` Methods inherited from MiscUtils.Configurable.Configurable: commandLineConfig(self) `Return the settings that came from the command-line. These settings come via addCommandLineSetting().` config(self) `Return the configuration of the object as a dictionary. This is a combination of defaultConfig() and userConfig(). This method caches the config.` configName(self) `Return the name of the configuration file without the extension. This is the portion of the config file name before the '.config'. This is used on the command-line.` hasSetting(self, name) `Check whether a configuration setting has been changed.` printConfig(self, dest=None) `Print the configuration to the given destination. The default destination is stdout. A fixed with font is assumed for aligning the values to start at the same column.` setSetting(self, name, value) `Set a particular configuration setting.` userConfig(self) `Return the user config overrides. These settings can be found in the optional config file. Returns {} if there is no such file. The config filename is taken from configFilename().` Data descriptors inherited from MiscUtils.Configurable.Configurable: __dict__ `dictionary for instance variables (if defined)` __weakref__ `list of weak references to the object (if defined)`

Functions
`` |  | main() `Start the Appserver.` stop(*args, **kw) `Stop the AppServer (which may be in a different process).` time(...) `time() -> floating point number Return the current time in seconds since the Epoch. Fractions of a second may be present if the system clock provides them.`

Data
`` |  | defaultConfig = {'CheckInterval': 100, 'PidFile': 'appserver.pid', 'PlugInDirs': [], 'PlugIns': [], 'PrintConfigAtStartUp': True, 'SilentURIs': None, 'Verbose': True} globalAppServer = None