~didrocks/unity/altf10

« back to all changes in this revision

Viewing changes to grackle/service.py

  • Committer: Curtis Hovey
  • Date: 2012-03-17 22:41:47 UTC
  • Revision ID: curtis.hovey@canonical.com-20120317224147-8qjsy3h8oqmv7nfr
Update rules to get the path and application based on PEP333.

Show diffs side-by-side

added added

removed removed

Lines of Context:
28
28
        self.environ = environ
29
29
        self.start_response = start_response
30
30
        self.method = environ['REQUEST_METHOD']
31
 
        self.host_port = shift_path_info(environ)
32
 
        self.application = shift_path_info(environ)
33
 
        path = environ['PATH_INFO'].split('/')
34
 
        self.scheme = path.pop(0)
35
 
        self.path = path
 
31
        if '://' in environ['PATH_INFO']:
 
32
            # All the needed information is embedded in PATH_INFO.
 
33
            self.host_port = shift_path_info(environ)
 
34
            self.application = shift_path_info(environ)
 
35
            path = environ['PATH_INFO'].split('/')
 
36
            self.scheme = path.pop(0)
 
37
            self.path = path
 
38
        elif environ['SCRIPT_NAME'] == '':
 
39
            # Remove the application to set the path.
 
40
            self.application = shift_path_info(environ)
 
41
            self.path = environ['PATH_INFO'].split('/')
 
42
        else:
 
43
            self.application = environ['SCRIPT_NAME']
 
44
            self.path = environ['PATH_INFO'].split('/')
36
45
        self.query_string = environ['QUERY_STRING']
37
46
        return self.handle_request()
38
47