Randal,<br><br>I'm finally getting back to writing this code. If I understand correctly initialRequest is called only when a new session is created. I think this will give me the proper data so that I can retrieve the information I need from Facebook, but I'd like to implement something that is called on every request and not only when a new session is created. The reason for this is that if a request comes in that has the proper Facebook proxy parameters, and then some action occurs and the next request looks like a valid Seaside session but the Facebook proxy parameters are not correct, I'd like the app to barf before it does any processing. It is probably unlikely that communication between the Facebook proxy and my app will be compromised but I doubt Seaside session urls use some kind of cryptographically secure mechanism to prevent spoofing so I'd rather be safe than sorry. Any idea how I could install a handler in between every request to verify the Facebook proxy parameters? I suppose I'd also like advice on what is the "Seaside way" to barf when I see a failure.<br>
<br>Chris<br><br><div class="gmail_quote">On Tue, May 6, 2008 at 4:24 PM, Randal L. Schwartz <<a href="mailto:merlyn@stonehenge.com">merlyn@stonehenge.com</a>> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
>>>>> "Chris" == Chris Dawson <<a href="mailto:xrdawson@gmail.com">xrdawson@gmail.com</a>> writes:<br>
<br>
Chris> I'd like to write logic to enable this for my Seaside applications.<br>
Chris> Can someone tell me how I go about overriding the proper classes in the<br>
Chris> request chain to process these variables and then provide accessors<br>
Chris> within my base classes to the Facebook data?<br>
<br>
Your top level component should implement #initialRequest:,<br>
which will be passed a WARequest object, on which you can call<br>
things like #at: to get the various params. See the implementors of<br>
#initialRequest: for examples (only WABrowser in the core Seaside distro).<br>
<br>
>From there, you should be able to do the processing as you did in Ruby, and<br>
once validated, you can set up your components and subcomponents to reply<br>
appropriately within the session.<br>
<font color="#888888"><br>
--<br>
Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095<br>
<<a href="mailto:merlyn@stonehenge.com">merlyn@stonehenge.com</a>> <URL:<a href="http://www.stonehenge.com/merlyn/" target="_blank">http://www.stonehenge.com/merlyn/</a>><br>
Smalltalk/Perl/Unix consulting, Technical writing, Comedy, etc. etc.<br>
See <a href="http://methodsandmessages.vox.com/" target="_blank">http://methodsandmessages.vox.com/</a> for Smalltalk and Seaside discussion<br>
</font></blockquote></div><br>