ISAPI 필터를 사용하여 응답에서 특정 콘텐츠를 제거합니다. 처리하기 전에 응답의 모든 본문을 수집해야합니다. 스트립하는 내용이 버퍼를 오버랩 할 수 있습니다.ISAPI 필터에서 응답 길이 결정
이렇게하려면 마지막으로 갈 때까지 각 SF_NOTIFY_SEND_RAW_DATA
알림 내용을 버퍼링하고 싶습니다. 그런 다음 번역 된 데이터를 보냅니다. 어떤 SF_NOTIFY_SEND_RAW_DATA
이 실제로 마지막인지 판단하는 가장 좋은 방법을 알고 싶습니다. SF_NOTIFY_END_OF_REQUEST
알림이 오기 전까지는 버퍼링 한 데이터를 보내는 방법을 알지 못합니다.
한 가지 방법은 content-length를 사용하는 것입니다. 이것은 헤더의 끝을 감지해야합니다. 또한 content-length 헤더가 맞다고 가정 할 필요가 있습니다 (보장됩니까?). HTTP는 심지어 content-length 헤더를 필요로하지 않기 때문에, 항상 거기에 있을지 확신하지 못합니다. 더 쉬운 방법이 있어야하는 것처럼 보입니다.
응답이 청크가 아니라고 가정하므로 응답 변경을 수행하기 전에 dechunking을 처리하지 않습니다. 또한 응답 본문을 수정하면 응답 본문의 크기가 변경되지 않으므로 다시 돌아가서 내용 길이를 업데이트 할 필요가 없습니다.