토네이도 RequestHandler
클래스가 add_header()
, clear_header()
및 set_header()
방법. 현재 설정된 헤더 만 볼 수있는 방법이 있습니까?
내 사용 사례는 특정 조건에서 응답 헤더를 자동으로 설정하는 유틸리티 메서드를 작성하고 있다는 것입니다. 하지만 중복하고 싶지 않은 헤더의 중복을 추가하지 않기 위해 오류 검사를 추가하고 싶습니다.
다음과 같은 코드를 작성하고 싶습니다.
class MyHandler(tornado.web.RequestHandler):
def ensure_json_header(self):
if not self.has_header_with_key('Content-Type'):
self.set_header('Content-Type', 'application/json')
def finish_json(self, data):
self.ensure_json_header()
return self.finish(json.dumps(data))
그러나 물론 has_header_with_key()
Tornado 에는 방법 이 없습니다 . 어떻게하면 되나요?
응답에있는 헤더를 나열하기위한 문서화 된 API가 없습니다.
그러나 기본적으로 응답의 모든 헤더에 대한 사전 인 self._headers
개인 속성 (의 인스턴스 tornado.httputil.HTTPHeaders
)이 있습니다. 이렇게하면 헤더를 확인할 수 있습니다.
if 'Content-Type' in self._headers:
# do something
부록으로 요청의 모든 헤더에 액세스하려면 self.request.headers
.
편집 : 귀하의 질문을 본 후 github에서 이에 대한 문제를 열었습니다 . 무슨 일이 일어나는지 보자.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다