Tornado에서 Middleware 구현 방법
1424 단어 middlewaretornado
Middleware 정의 class MiddleWare(object):
def process_request(self, request):
#request RequestHandler
pass
def process_response(self, request):
pass
로그인 확인 Middleware 구현
class AuthorizationException(Exception):
def __init__(self, msg):
super(AuthorizationException, self).__init__(403, msg)
class CheckLogin(MiddleWare):
def is_login(self, requesthandler):
return True
def process_request(self, request):
if must_login(request):
if not self.is_login(request):
raise AuthenticationException(403, "login required")
def is_login(self, request):
return request.get_session() != None
미들웨어 등록 장소 찾기
class MiddleWare(object):
def process_request(self, request):
#request RequestHandler
pass
def process_response(self, request):
pass
class AuthorizationException(Exception):
def __init__(self, msg):
super(AuthorizationException, self).__init__(403, msg)
class CheckLogin(MiddleWare):
def is_login(self, requesthandler):
return True
def process_request(self, request):
if must_login(request):
if not self.is_login(request):
raise AuthenticationException(403, "login required")
def is_login(self, request):
return request.get_session() != None
미들웨어 등록 장소 찾기
Middlware 호출 class MiddleRequestHandler(RequestHandler):
def prepare(self):
for middleware in self.app.middleware:
middleware.process_request(self)
def finish(self):
for middleware in self.app.middleware:
middleware.process_response(self)
super(MiddleRequestHandler, self).finish()
실행 가능한 예
class MiddleRequestHandler(RequestHandler):
def prepare(self):
for middleware in self.app.middleware:
middleware.process_request(self)
def finish(self):
for middleware in self.app.middleware:
middleware.process_response(self)
super(MiddleRequestHandler, self).finish()
https://gist.github.com/alex8224/7e4ca9a27727cf2a86b6
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
쵸 와카르 middy※ 전 기사는 middy라는 모르는 사람이 있었으므로, 조금 조사해 본다 음 거의 이하의 공식 문서를 일본어 번역해, 이해하기 어려운 곳을 바꿔 말한 느낌 AWS Lambda를 Node.js로 작성할 때 코드를 단순...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.