Changeset 58:a441a02fc46d
- Timestamp:
- 12/29/06 10:27:02 (2 years ago)
- Files:
-
- ChangeLog (modified) (1 diff)
- flup/server/scgi.py (modified) (2 diffs)
- flup/server/scgi_base.py (modified) (4 diffs)
- flup/server/scgi_fork.py (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
ChangeLog
r57 r58 1 1 2006-12-29 Allan Saddi <allan@saddi.com> 2 3 * Back out previous commit. PATH_INFO is still not set 4 correctly by mod_scgi. 2 5 3 6 * Deprecate WSGI_SCRIPT_NAME and scriptName in scgi_base. flup/server/scgi.py
r57 r58 67 67 import socket 68 68 69 from flup.server.scgi_base import BaseSCGIServer, Connection , NoDefault69 from flup.server.scgi_base import BaseSCGIServer, Connection 70 70 from flup.server.threadedserver import ThreadedServer 71 71 … … 88 88 mind running in multiple processes, go use SWAP. ;) 89 89 """ 90 def __init__(self, application, scriptName= NoDefault, environ=None,90 def __init__(self, application, scriptName='', environ=None, 91 91 multithreaded=True, multiprocess=False, 92 92 bindAddress=('localhost', 4000), umask=None, flup/server/scgi_base.py
r57 r58 37 37 import datetime 38 38 import os 39 import warnings40 39 41 40 # Threads are required. If you want a non-threaded (forking) version, look at … … 275 274 requestClass = Request 276 275 277 def __init__(self, application, scriptName= NoDefault, environ=None,276 def __init__(self, application, scriptName='', environ=None, 278 277 multithreaded=True, multiprocess=False, 279 278 bindAddress=('localhost', 4000), umask=None, … … 473 472 def _sanitizeEnv(self, environ): 474 473 """Fill-in/deduce missing values in environ.""" 475 # Ensure QUERY_STRING exists 476 if not environ.has_key('QUERY_STRING'): 477 environ['QUERY_STRING'] = '' 478 479 # Check WSGI_SCRIPT_NAME 474 # Namely SCRIPT_NAME/PATH_INFO 480 475 scriptName = environ.get('WSGI_SCRIPT_NAME') 481 476 if scriptName is None: 482 477 scriptName = self.scriptName 483 else: 484 warnings.warn('WSGI_SCRIPT_NAME environment variable for scgi ' 485 'servers is deprecated', 486 DeprecationWarning) 487 if scriptName.lower() == 'none': 488 scriptName = None 478 elif scriptName.lower() == 'none': 479 scriptName = None 489 480 490 481 if scriptName is None: … … 492 483 return 493 484 494 if scriptName is NoDefault: 495 # Pull SCRIPT_NAME/PATH_INFO from environment, with empty defaults 496 if not environ.has_key('SCRIPT_NAME'): 497 environ['SCRIPT_INFO'] = '' 498 if not environ.has_key('PATH_INFO'): 499 environ['PATH_INFO'] = '' 500 else: 501 # Configured scriptName 502 warnings.warn('Configured SCRIPT_NAME is deprecated\n' 503 'Do not use WSGI_SCRIPT_NAME or the scriptName\n' 504 'keyword parameter -- they will be going away', 505 DeprecationWarning) 506 507 value = environ['SCRIPT_NAME'] 508 value += environ.get('PATH_INFO', '') 509 if not value.startswith(scriptName): 510 self.logger.warning('scriptName does not match request URI') 511 512 environ['PATH_INFO'] = value[len(scriptName):] 513 environ['SCRIPT_NAME'] = scriptName 485 value = environ['SCRIPT_NAME'] 486 # Pull PATH_INFO from environ, if it exists. (cgi2scgi actually 487 # passes it in.) 488 value += environ.get('PATH_INFO', '') 489 if not value.startswith(scriptName): 490 self.logger.warning('scriptName does not match request URI') 491 492 environ['PATH_INFO'] = value[len(scriptName):] 493 environ['SCRIPT_NAME'] = scriptName 494 495 if not environ.has_key('QUERY_STRING'): 496 environ['QUERY_STRING'] = '' 514 497 515 498 def error(self, request): flup/server/scgi_fork.py
r57 r58 67 67 import socket 68 68 69 from flup.server.scgi_base import BaseSCGIServer, Connection , NoDefault69 from flup.server.scgi_base import BaseSCGIServer, Connection 70 70 from flup.server.preforkserver import PreforkServer 71 71 … … 88 88 mind running in multiple processes, go use SWAP. ;) 89 89 """ 90 def __init__(self, application, scriptName= NoDefault, environ=None,90 def __init__(self, application, scriptName='', environ=None, 91 91 bindAddress=('localhost', 4000), umask=None, 92 92 allowedServers=None,