diff options
author | Allan Saddi <allan@saddi.com> | 2006-08-28 16:45:05 +0000 |
---|---|---|
committer | Allan Saddi <allan@saddi.com> | 2006-08-28 16:45:05 +0000 |
commit | a172719f946a2e2680a34aca68b3cbfd8c2fcafd (patch) | |
tree | 8b4ec220ca4f19bb01ebfb9e89fdfe1821a5aad3 /flup | |
parent | e9e308f9faf12131724ff99016ba03a4356d0eff (diff) | |
download | flup-a172719f946a2e2680a34aca68b3cbfd8c2fcafd.tar.gz |
Add support for FastCGI roles other than FCGI_RESPONDER.
Diffstat (limited to 'flup')
-rw-r--r-- | flup/server/fcgi.py | 7 | ||||
-rw-r--r-- | flup/server/fcgi_base.py | 5 |
2 files changed, 7 insertions, 5 deletions
diff --git a/flup/server/fcgi.py b/flup/server/fcgi.py index 1b23ddc..9d23051 100644 --- a/flup/server/fcgi.py +++ b/flup/server/fcgi.py @@ -51,7 +51,7 @@ __version__ = '$Revision$' import os -from fcgi_base import BaseFCGIServer +from fcgi_base import BaseFCGIServer, FCGI_RESPONDER from threadedserver import ThreadedServer __all__ = ['WSGIServer'] @@ -64,7 +64,7 @@ class WSGIServer(BaseFCGIServer, ThreadedServer): def __init__(self, application, environ=None, multithreaded=True, multiprocess=False, bindAddress=None, umask=None, multiplexed=False, - debug=True, **kw): + debug=True, roles=(FCGI_RESPONDER,), **kw): """ environ, if present, must be a dictionary-like object. Its contents will be copied into application's environ. Useful @@ -86,7 +86,8 @@ class WSGIServer(BaseFCGIServer, ThreadedServer): bindAddress=bindAddress, umask=umask, multiplexed=multiplexed, - debug=debug) + debug=debug, + roles=roles) for key in ('jobClass', 'jobArgs'): if kw.has_key(key): del kw[key] diff --git a/flup/server/fcgi_base.py b/flup/server/fcgi_base.py index 56fac6b..3109429 100644 --- a/flup/server/fcgi_base.py +++ b/flup/server/fcgi_base.py @@ -898,7 +898,7 @@ class BaseFCGIServer(object): def __init__(self, application, environ=None, multithreaded=True, multiprocess=False, bindAddress=None, umask=None, multiplexed=False, - debug=True): + debug=True, roles=(FCGI_RESPONDER,)): """ bindAddress, if present, must either be a string or a 2-tuple. If present, run() will open its own listening socket. You would use @@ -929,6 +929,7 @@ class BaseFCGIServer(object): self.multithreaded = multithreaded self.multiprocess = multiprocess self.debug = debug + self.roles = roles self._bindAddress = bindAddress self._umask = umask @@ -1022,7 +1023,7 @@ class BaseFCGIServer(object): def handler(self, req): """Special handler for WSGI.""" - if req.role != FCGI_RESPONDER: + if req.role not in self.roles: return FCGI_UNKNOWN_ROLE, 0 # Mostly taken from example CGI gateway. |