2013-04-16 19 views
7

CF arabiriminde, sunucu tarafı dilindeki verileri Chrome konsoluna kaydetmek için HTTP üstbilgilerini kullanan ChromeLogger uzantısına (shameless plug) çalışıyorum.Varolan bir üstbilginin üzerine yazmak için setHeader'ı nasıl alabilirim?

Bir istek sırasında, log() yöntemi birden çok kez çağrılabilir. Her bir çağrı için, üstbilgi, ChromeLogger'ın verileri doğru bir şekilde görüntülemesi gereken biçiminde yazıyorum. CF10'da, bu iyi çalışır - her sonraki setHeader() numaralı çağrı, daha önce ayarlanmış üstbilginin aynı adla üzerine yazılır. Ancak CF9'da, aynı ada sahip birden fazla başlık görüyorum.

CF9 yılında
<cfscript> 
pc = getPageContext().getResponse(); 
pc.setHeader("test-header", "value 1"); 
pc.setHeader("test-header", "value 2"); 
pc.setHeader("test-header", "value 3"); 
</cfscript> 

, ben adlı üç başlık "test başlığı," kendi değeriyle her bakınız:

Bu örnek kod sorunu göstermektedir. CF10'da, "değer 3" değeriyle "test-header" adlı bir başlık görüyorum.

ismi verilen ve değeri olan bir yanıt başlığını belirler: Bu yöntem için Java docs göre, ikinci (vurgu madeni) doğrudur. Başlık önceden ayarlanmışsa, yeni değer önceki bir'un üzerine yazılır. ContainsHeader yöntemi, değerini ayarlamadan önce bir başlığın varlığını test etmek için kullanılabilir. cfheader etiketi kullanma

sadece setHeader() yöntemi sarar muhtemelen çünkü, aynı sonuçları vardır.

Talebin gidişatı üzerine üstbilgiyi oluşturabileceğimin ve setHeader()'u bir defada onRequestEnd() aracılığıyla arayabileceğimin farkındayım, ancak bu bileşenin olabildiğince kendi kendine yeten olmasını istiyorum. Son kullanıcının daha azını uygulamak için kodlarını değiştirmek zorunda kalması, daha iyi.

Mevcut bir üstbilginin üzerine yazmak için CF9'da başka bir yol var mı?

cevap

3

ColdFusion 9'da bir hata olabileceği görülüyor. https://bugbase.adobe.com/index.cfm?event=bug&id=3041696 Bu hata, Haziran 2010'da 9.0 sürümü için (benim anlatabildiğim kadarıyla) Adam Cameron tarafından girildi. 'Ertelenmiş' durumu ve 'NotEnoughTime' nedeni ile listelenir.

+1

Teşekkürler, Miguel - bu hayal kırıklığı yaratıyor. Adam'a bir çözüm bulup bulmadığını görmek için Twitter'a bir mesaj gönderdim. Eğer yapmadıysa, devam edip gerçek bir çözüm olmanın yerine bunu kabul ediyorum. –

+0

@SeanWalsh - Bu, Adem'in bir geçici çözüm bulamadığı anlamına mı geliyor? –

+0

Ne yazık ki, hayır - burada iki tweets bakın: https://twitter.com/daccf/status/324233254335033344 https://twitter.com/daccf/status/324233463597244416 –

İlgili konular