Changeset 59:5e584c75125a
- Timestamp:
- 01/02/07 14:15:05 (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
r58 r59 1 1 2006-12-29 Allan Saddi <allan@saddi.com> 2 3 * Back out previous commit. PATH_INFO is still not set4 correctly by mod_scgi.5 2 6 3 * Deprecate WSGI_SCRIPT_NAME and scriptName in scgi_base. flup/server/scgi.py
r58 r59 67 67 import socket 68 68 69 from flup.server.scgi_base import BaseSCGIServer, Connection 69 from flup.server.scgi_base import BaseSCGIServer, Connection, NoDefault 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= '', environ=None,90 def __init__(self, application, scriptName=NoDefault, environ=None, 91 91 multithreaded=True, multiprocess=False, 92 92 bindAddress=('localhost', 4000), umask=None, flup/server/scgi_base.py
r58 r59 37 37 import datetime 38 38 import os 39 import warnings 39 40 40 41 # Threads are required. If you want a non-threaded (forking) version, look at … … 274 275 requestClass = Request 275 276 276 def __init__(self, application, scriptName= '', environ=None,277 def __init__(self, application, scriptName=NoDefault, environ=None, 277 278 multithreaded=True, multiprocess=False, 278 279 bindAddress=('localhost', 4000), umask=None, … … 472 473 def _sanitizeEnv(self, environ): 473 474 """Fill-in/deduce missing values in environ.""" 474 # Namely SCRIPT_NAME/PATH_INFO 475 # Ensure QUERY_STRING exists 476 if not environ.has_key('QUERY_STRING'): 477 environ['QUERY_STRING'] = '' 478 479 # Check WSGI_SCRIPT_NAME 475 480 scriptName = environ.get('WSGI_SCRIPT_NAME') 476 481 if scriptName is None: 477 482 scriptName = self.scriptName 478 elif scriptName.lower() == 'none': 479 scriptName = None 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 480 489 481 490 if scriptName is None: … … 483 492 return 484 493 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'] = '' 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 497 514 498 515 def error(self, request): flup/server/scgi_fork.py
r58 r59 67 67 import socket 68 68 69 from flup.server.scgi_base import BaseSCGIServer, Connection 69 from flup.server.scgi_base import BaseSCGIServer, Connection, NoDefault 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= '', environ=None,90 def __init__(self, application, scriptName=NoDefault, environ=None, 91 91 bindAddress=('localhost', 4000), umask=None, 92 92 allowedServers=None,