Download Install Tutorial Docs FAQ Tools WikiLicense Team IRC Planet Involvement Shop Book

Changeset 1413

Show
Ignore:
Timestamp:
10/26/06 00:06:16
Author:
fumanchu
Message:

Fix for #573 (wsgi server bug in mount-point resolution with multiple mounted applications).

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/cherrypy/_cpwsgiserver.py

    r1410 r1413  
    111111            for mount_point, wsgi_app in server.mount_points: 
    112112                # The mount_points list should be sorted by length, descending. 
    113                 if path.startswith(mount_point)
     113                if path.startswith(mount_point + "/") or path == mount_point
    114114                    self.environ["SCRIPT_NAME"] = mount_point 
    115115                    self.environ["PATH_INFO"] = path[len(mount_point):] 
  • trunk/cherrypy/test/test_objectmapping.py

    r1369 r1413  
    55 
    66 
    7 script_names = ["", "/users/fred/blog", "/corp/blog"] 
     7script_names = ["", "/foo", "/users/fred/blog", "/corp/blog"] 
    88 
    99def setup_server(): 
     
    1212            return name 
    1313        index.exposed = True 
     14         
     15        def foobar(self): 
     16            return "bar" 
     17        foobar.exposed = True 
    1418         
    1519        def default(self, *params): 
     
    235239        self.getPage("/isolated/doesnt/exist") 
    236240        self.assertStatus("404 Not Found") 
     241         
     242        # Make sure /foobar maps to Root.foobar and not to the app 
     243        # mounted at /foo. See http://www.cherrypy.org/ticket/573 
     244        self.getPage("/foobar") 
     245        self.assertBody("bar") 
    237246     
    238247    def testPositionalParams(self): 

Hosted by WebFaction

Log in as guest/cpguest to create tickets