2010-06-15 4 views

Répondre

12

Quelle version de ColdFusion utilisez-vous? Quand je lance votre code sur ColdFusion 9, je reçois la valeur d'en-tête (Comme on le voit à l'aide FireBug):

test: 1, 2 

Quant à savoir si vous pouvez ou non dire ce que, le cas échéant, les valeurs existantes il pourrait y avoir pour l'en-tête de réponse , Je n'ai pas encore trouvé de chemin. Je vais continuer à regarder, cependant.

Mise à jour: trouvé.

getPageContext().getResponse().containsHeader("test") 

Par exemple:

<cfif getPageContext().getResponse().containsHeader("test") eq "NO"> 
    <cfheader name="test" value="2" /> 
</cfif> 
+0

cool. Fonctionne également avec Railo 3.1, y compris la sortie 'test: 1, 2'. – Sergii

+0

Ah, nous utilisons la version ColdFusion Standard 8,0,1,195765, et LiveHTTPHeaders dans Firefox montre juste "Test: 2". Votre code fonctionne parfaitement sur CF8 aussi ... utilisera cela - merci! –

3

peut ne pas aider à la tâche exacte de vérifier les en-têtes, mais je avais essayé de mettre en œuvre la façade d'en-tête pour gérer les en-têtes d'envoi et le suivi de l'historique des produits transformés alredy.

Il peut être aussi simple que wrapper UDF, comme celui-ci:

<!--- 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>