ColdFusion - как установить заголовок Content-Length
Кто-нибудь успешно добавил заголовок Content-Length к обычным страницам ColdFusion (я использую CF9)? Я настраиваю новый сервер за балансировщиком нагрузки Cisco со сжатием - коробка отказывается сжимать что-либо без этого заголовка, но CF не передает его по умолчанию.
<cfheader name="Content-Length" value="something">
установит заголовок, но поиск правильного значения является проблемой.
Любые указатели будут высоко оценены.
2 ответа
Я считаю, что я решил это:
<cfheader name="Content-Length" value="#getPageContext().getCFOutput().getBuffer().size()#">
Я воткнул это в оnRequestEnd()
и коробка Cisco счастливо сжимается.
Спасибо за вклад людей.
Я не люблю эту идею, но не могли бы вы сделать какую-то обертку с cfsavecontent и взять ее длину?
Что-то вроде:
<cfsetting enablecfoutputonly="yes">
<cfsavecontent variable="testVar">
<cfinclude template="myPage.cfm">
</cfsavecontent>
<cfheader name="Content-Length" value="#len(testVar)#">
<cfoutput>#testVar#</cfoutput>
Я не уверен, что счет будет отключен из-за проблем с пробелами.