[Seaside] a <sameAs:> DNU from : ZnMessage>>isConnectionClose

Sven Van Caekenberghe sven at stfx.eu
Thu Apr 12 12:21:07 UTC 2018


Hi Liang,

Headers in HTTP (as represented/implemented by the ZnHeaders object in Pharo) can be multi-valued. That is, a certain header name (key) can occur more than once. That creates a multi-valued situation. For example, there can be multiple cookies being set. But almost always, there is only one header with a unique name.

What you see must be the result of the 'Connection:close' header line being present twice. I would like to understand how that can happen. Do you have any idea ?

I am also not sure (I should check) what the spec says.

What is special here is that although the header line occurs twice, it has the same/identical value.

In any case, it is the first time I hear about this situation.

Sven 

> On 12 Apr 2018, at 11:30, lb <liangbing64 at 126.com> wrote:
> 
> Hi,
> my website always receives a sameAs: DNU from :
> ZnMessage>>isConnectionClose
>  | value |
>  value := self headers at: 'Connection' ifAbsent: [ ^ false ].
>  ^ value sameAs: 'close'
> 
> value is an Array like #('close' 'close').
> 
> I fix like this to avoid receiving DNU message.
> isConnectionClose
>  | value |
>  value := self headers at: 'Connection' ifAbsent: [ ^ false ].
>  value isArray ifTrue: [^ (value at: 1) sameAs: 'close'].
>  value isString ifTrue: [^ value sameAs: 'close'].
>  ^false
> I can not confirm that fix is correct.
> Liang
> _______________________________________________
> seaside mailing list
> seaside at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside



More information about the seaside mailing list