Код
<cfheader name="Test" value="1">
<cfheader name="Test" value="2">
результаты в заголовке "Тест: 2 дюйма отправляются в браузер (как замечено использование HttpFox).
Существует ли путь к второй строке кода, чтобы определить, был ли заголовок с тем же именем уже записан с помощью CFHEADER?
Спасибо!
Какую версию ColdFusion вы используете? Когда я запускаю ваш код на ColdFusion 9, я получаю значение заголовка (As seen using FireBug):
test: 1, 2
Что касается того, можете ли вы сказать, какие, если таковые имеются, существующие значения могут быть для заголовка ответа, я пока не нашел способа. Однако я продолжу поиски.
Обновление: Нашел.
getPageContext().getResponse().containsHeader("test")
For example:
<cfif getPageContext().getResponse().containsHeader("test") eq "NO">
<cfheader name="test" value="2" />
</cfif>
Не могу помочь с точной задачей проверки заголовков, но я попытался реализовать фасад заголовка для обработки отправки заголовков и отслеживания истории уже обработанных элементов.
Это может быть просто оболочка UDF, например эта:
<!--- this should be somewhere on request start --->
<cfset request.headers = {} />
<!--- wrapper for cfheader --->
<cffunction name="SendHeader" returntype="void" output="false">
<cfargument name="name" type="string" required="true" hint="Header name">
<cfargument name="value" type="string" required="true" hint="Header value">
<cfif NOT StructKeyExists(request.headers, arguments.name)>
<cfset request.headers[arguments.name] = arguments.value />
<cfheader name="#arguments.name#" value="#arguments.value#" />
</cfif>
</cffunction>