[Seaside] cookies
Ramon Leon
ramon.leon at allresnet.com
Tue Sep 22 16:57:30 UTC 2009
>>> 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 ]
--
Ramon Leon
http://onsmalltalk.com
More information about the seaside
mailing list