My favorites | Sign in
Logo
          
New issue | Search
for
| Advanced search | Search tips
Issue 19: Behaviour of #initialRequest:/#updateUrl differs when using session cookies.
  Back to list
Status:  Fixed
Owner:  ----
Closed:  Jan 2009
Type-Defect
Priority-Medium
Version-Seaside2.9


Sign in to add a comment
 
Reported by renggli, Mar 02, 2008
When overriding WAComponent>>>#initialRequest: and #updateUrl: to create REST-ful urls, with 
session cookies enabled via WASessionConfiguration>>>#useSessionCookie, the changes to the 
URL are reverted.

A discussion thread from the mailing list, which is relevant to this bug can be viewed at: 
http://lists.squeakfoundation.org/pipermail/seaside/2007-June/012311.html

Comment 1 by renggli, Mar 02, 2008
To sum it up:
When you enter a "REST-ful url" into an application that has session cookies enabled first "page" will lack any 
paramters passed to it with #updateUrl:
Comment 2 by jfitzell, Aug 30, 2008
probably the redirect to test the cookie isn't passing on the GET parameters?
Comment 3 by jfitzell, Aug 30, 2008
(No comment was entered for this change.)
Owner: ---
Comment 4 by jfitzell, Aug 30, 2008
(No comment was entered for this change.)
Owner: da...@teleport.com
Comment 5 by jfitzell, Oct 27, 2008
Ok, I see the specific problem:

WARequestContext>>respondAndContinue: can't use the #actionUrl that was passed into
the request context by the session continuations because it needs a link to a
different continuation. As a result, it calls WASession>>actionUrlForContinuation: to
get a new URL but the components and session have not had a chance to update that URL
so we lose the extra parameters.

#respondAndContinue: is used by #testSessionCookie and #redirectWithCookie:, among
others.

So what's the right fix? I'm not sure. It might be better to have the session call
#updateUrl: on its own root object in #actionUrlForKey: except that the root object
is not currently stored on the session. It might be best to look at this again after
the painter refactoring is merged into the trunk.
Owner: ---
Comment 6 by philippe.marschall, Jan 24, 2009
Name: Seaside-Session-pmm.83
Author: pmm
Time: 24 January 2009, 10:43:36 am
UUID: 316e4c60-25da-4bb7-8943-f10bacc44e62
Ancestors: Seaside-Session-jf.82

- no more redirects for testing and setting the session cookie
- session key are always Strings, no need to send #seasideString
Status: Fixed
Labels: Version-Seaside2.9
Sign in to add a comment

Hosted by Google Code