Как обработать запрос с цепочкой webapp.RequestHandler - PullRequest
2 голосов
/ 04 мая 2010

Веб-приложение GAE позволяет отобразить один обработчик на маршрут:

application = webapp.WSGIApplication([
                                     ('/login', gae_handlers.UserLogin),
                                     ], debug=True)

Можно ли как-нибудь создать цепочку обработчиков запросов?

Я хочу иметь обработчик, который выполняет аутентификацию до запуска всех других обработчиков.

Ответы [ 2 ]

5 голосов
/ 04 мая 2010

Это можно сделать либо с помощью декораторов, либо с помощью промежуточного программного обеспечения WSGI.

Есть хороший пример использования декоратора в этом ответе . Проект AEoid Ника Джонсона использует подход промежуточного программного обеспечения.

0 голосов
/ 05 мая 2010

Я нашел другой способ

class ExtendedRequest(google.appengine.ext.webapp.WSGIApplication.REQUEST_CLASS):
    # I can basically do anything here
    def get_session_id(self):
        return self.cookies.get('session_id')

google.appengine.ext.webapp.WSGIApplication.REQUEST_CLASS = ExtendedRequest
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...