0
before_finalize
에서 실행할 후크에서 @cherrypy.tools.expires()
을 제거하고 싶은 기존 응용 프로그램이 있습니다.CherryPy before_finalize hook을 응답에서 제거하십시오
내가 무엇을 가지고 :
- 사용자가 인증되지 않거나 있는지 확인 모든 컨트롤러/핸들러 주위에
@cherrypy.tools.expires()
- 일부 래퍼로 장식 된
GET
이있는 컨트롤러. 인증되지 않은 경우, 401 인증 안 오류가 대신 그 라인을 따라GET
- CherryPy 오류 처리기 또는 뭔가를 호출 제기 나는
before_finalize
훅을 제거 할 필요가 제어 이 3 단계에
을지지한다 비록 래퍼가 결코 GET
을 실행하지는 않았지만, 여전히 글로벌 request
개체에 추가됩니다.
cherrypy.serving.request.hooks
에서 도구를 찾을 수 있다는 것을 알고 있지만 이름이 지정되지 않았기 때문에 어떤 후크가 올바른지 알아낼 수있는 쉬운 방법이 없습니다.
후크를 반복하고 함수 이름을 기반으로 몇 가지 추측을하는 것 외에 제거 할 항목을 파악하는 좋은 방법이 있습니까?
은 왜 당신은 당신의 핸들러 방법이 후크를 추가 했습니까? – webKnjaZ
@webKnjaZ @webKnjaZ 왜냐하면 내가 상속 받고있는 코드베이스이기 때문에 내가 익숙한 피라미드와 달리이 훅은 요청에 대해 전역 적으로 보이기 때문에 처리기가 오류를 발생시킬 때조차도, 만료 헤더는 계속 전송됩니다. 예외 처리 코드에서'before_finalize' 훅을 제거했습니다. –
클래스 기반으로이 도구를 무시하고 비활성화 할 수 있다고 생각합니다. – webKnjaZ