[Seaside] cookies
Miguel Enrique Cobá Martinez
miguel.coba at gmail.com
Tue Sep 22 17:56:18 UTC 2009
El mar, 22-09-2009 a las 09:57 -0700, Ramon Leon escribió:
> >>> Can't I add a cookie to a given response without asking the browser to
> >>> make a new request?
> >> In Seaside 2.8 that's not possible because we don't have access to the
> >> response. In Seaside 3.0 this is possible. If you want/need it in
> >> Seaside 2.8 you'll probably want to add them to your session, add them
> >> to the response in #returnResponse: and then nil them out.
> >>
> > Thank for the answer. I think I will do a redirect until I have no other
> > option.
>
> It's fairly trivial to do what you want in 2.8 just by adding a couple
> things to your session class. Something like...
>
> initialize
> super initialize.
> responseBlocks := OrderedCollection new.
>
> onResponse: aBlock
> responseBlocks add: aBlock
>
> returnResponse: aResponse
> responseBlocks do: [:e | e value: aResponse ].
> responseBlocks removeAll.
> ^ super returnResponse: aResponse
>
> Then from your component whenever you want to add something to or do
> something with the response, you just do...
>
> self session onResponse: [ :r |
> r addCookie: (WACookie key: #visited value: 'true') ].
>
> Or maybe...
>
> self session onResponse: [ :r | r forbidden ]
Cool. Helpful as always.
Thanks
--
Miguel Cobá
http://miguel.leugim.com.mx
More information about the seaside
mailing list