Changeset 70:e25bd11d9fba

Show
Ignore:
Timestamp:
07/22/08 07:43:45 (1 month ago)
Author:
Allan Saddi <allan@saddi.com>
branch:
default
Message:

Attempt to deduce missing PATH_INFO and/or QUERY_STRING from
REQUEST_URI, if present.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • ChangeLog

    r69 r70  
     12008-07-22  Allan Saddi  <allan@saddi.com> 
     2 
     3        * Attempt to deduce missing PATH_INFO and/or QUERY_STRING from 
     4          REQUEST_URI, if present. Patch provided by Richard Davies. 
     5 
    162007-09-10  Allan Saddi  <allan@saddi.com> 
    27 
  • flup/server/ajp_base.py

    r68 r70  
    925925        environ['SCRIPT_NAME'] = scriptName 
    926926 
    927         if not environ.has_key('QUERY_STRING'): 
    928             environ['QUERY_STRING'] = '' 
     927        if not environ.has_key('QUERY_STRING') or not environ['QUERY_STRING']: 
     928            if environ.has_key['REQUEST_URI']: 
     929                environ['QUERY_STRING'] = environ['REQUEST_URI'].partition('?')[2] 
     930            else: 
     931                environ['QUERY_STRING'] = '' 
    929932 
    930933    def error(self, request): 
  • flup/server/fcgi_base.py

    r68 r70  
    11371137        if not environ.has_key('SCRIPT_NAME'): 
    11381138            environ['SCRIPT_NAME'] = '' 
    1139         if not environ.has_key('PATH_INFO'): 
    1140             environ['PATH_INFO'] = '' 
    1141         if not environ.has_key('QUERY_STRING'): 
    1142             environ['QUERY_STRING'] = '' 
     1139        if not environ.has_key('PATH_INFO') or not environ['PATH_INFO']: 
     1140            if environ.has_key('REQUEST_URI'): 
     1141                environ['PATH_INFO'] = environ['REQUEST_URI'].partition('?')[0] 
     1142            else: 
     1143                environ['PATH_INFO'] = '' 
     1144        if not environ.has_key('QUERY_STRING') or not environ['QUERY_STRING']: 
     1145            if environ.has_key('REQUEST_URI'): 
     1146                environ['QUERY_STRING'] = environ['REQUEST_URI'].partition('?')[2] 
     1147            else: 
     1148                environ['QUERY_STRING'] = '' 
    11431149 
    11441150        # If any of these are missing, it probably signifies a broken 
  • flup/server/scgi_base.py

    r59 r70  
    474474        """Fill-in/deduce missing values in environ.""" 
    475475        # Ensure QUERY_STRING exists 
    476         if not environ.has_key('QUERY_STRING'): 
    477             environ['QUERY_STRING'] = '' 
     476        if not environ.has_key('QUERY_STRING') or not environ['QUERY_STRING']: 
     477            if environ.has_key('REQUEST_URI'): 
     478                environ['QUERY_STRING'] = environ['REQUEST_URI'].partition('?')[2] 
     479            else: 
     480                environ['QUERY_STRING'] = '' 
    478481 
    479482        # Check WSGI_SCRIPT_NAME 
     
    496499            if not environ.has_key('SCRIPT_NAME'): 
    497500                environ['SCRIPT_INFO'] = '' 
    498             if not environ.has_key('PATH_INFO'): 
    499                 environ['PATH_INFO'] = '' 
     501            if not environ.has_key('PATH_INFO') or not environ['PATH_INFO']: 
     502                if environ.has_key('REQUEST_URI'): 
     503                    environ['PATH_INFO'] = environ['REQUEST_URI'].partition('?')[0] 
     504                else: 
     505                    environ['PATH_INFO'] = '' 
    500506        else: 
    501507            # Configured scriptName