Значения CFHEADER могут быть считаны другим кодом?

Код

<cfheader name="Test" value="1">
<cfheader name="Test" value="2">

результаты в заголовке "Тест: 2 дюйма отправляются в браузер (как замечено использование HttpFox).

Существует ли путь к второй строке кода, чтобы определить, был ли заголовок с тем же именем уже записан с помощью CFHEADER?

Спасибо!

5
задан Aidan Whitehall 15 June 2010 в 11:01
поделиться

2 ответа

Какую версию 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>
12
ответ дан 18 December 2019 в 11:53
поделиться

Не могу помочь с точной задачей проверки заголовков, но я попытался реализовать фасад заголовка для обработки отправки заголовков и отслеживания истории уже обработанных элементов.

Это может быть просто оболочка 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>
3
ответ дан 18 December 2019 в 11:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: