views:

35

answers:

1

I am trying to break my app into separate scripts. Part of this effort meant breaking the api calls into it's own file. However the calls to the api (like http://example.com/api/game/new no longer work). My app.yaml contains this:

- url: /api.*
  script: api.py

which seems to be redirecting properly because this configuration works:

def main():
    application = webapp.WSGIApplication([('/.*', TestPage)], debug=True)
    util.run_wsgi_app(application)

however this one doesn't:

def main():
    application = webapp.WSGIApplication([('/game/new$', CreateGame), 
                                          ('/game/(d+)$', GameHandler)],
                                          debug=True)
    util.run_wsgi_app(application)
+2  A: 

The URL patterns you use in the WSGI application have to be the full path - eg, /api/game/.... The App Engine infrastructure uses the regular expressions in app.yaml to route requests, but it does not modify the request path based on them.

Nick Johnson