Behaviour of #initialRequest:/#updateUrl differs when using session cookies. #19

Closed
GoogleCodeExporter opened this Issue Mar 25, 2015 · 6 comments

Comments

Projects
None yet
1 participant
@GoogleCodeExporter
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

Original issue reported on code.google.com by renggli on 2 Mar 2008 at 8:31

@GoogleCodeExporter

This comment has been minimized.

Show comment
Hide comment
@GoogleCodeExporter

GoogleCodeExporter Mar 25, 2015

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:

Original comment by renggli on 2 Mar 2008 at 8:31

  • Added labels: ****
  • Removed labels: ****
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:

Original comment by renggli on 2 Mar 2008 at 8:31

  • Added labels: ****
  • Removed labels: ****
@GoogleCodeExporter

This comment has been minimized.

Show comment
Hide comment
@GoogleCodeExporter

GoogleCodeExporter Mar 25, 2015

probably the redirect to test the cookie isn't passing on the GET parameters?

Original comment by jfitz...@gmail.com on 30 Aug 2008 at 12:37

  • Added labels: ****
  • Removed labels: ****
probably the redirect to test the cookie isn't passing on the GET parameters?

Original comment by jfitz...@gmail.com on 30 Aug 2008 at 12:37

  • Added labels: ****
  • Removed labels: ****
@GoogleCodeExporter

This comment has been minimized.

Show comment
Hide comment
@GoogleCodeExporter

GoogleCodeExporter Mar 25, 2015

Original comment by jfitz...@gmail.com on 30 Aug 2008 at 4:08

  • Added labels: ****
  • Removed labels: ****

Original comment by jfitz...@gmail.com on 30 Aug 2008 at 4:08

  • Added labels: ****
  • Removed labels: ****
@GoogleCodeExporter

This comment has been minimized.

Show comment
Hide comment
@GoogleCodeExporter

GoogleCodeExporter Mar 25, 2015

Original comment by jfitz...@gmail.com on 30 Aug 2008 at 5:03

  • Added labels: ****
  • Removed labels: ****

Original comment by jfitz...@gmail.com on 30 Aug 2008 at 5:03

  • Added labels: ****
  • Removed labels: ****
@GoogleCodeExporter

This comment has been minimized.

Show comment
Hide comment
@GoogleCodeExporter

GoogleCodeExporter Mar 25, 2015

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.

Original comment by jfitz...@gmail.com on 27 Oct 2008 at 9:56

  • Added labels: ****
  • Removed labels: ****
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.

Original comment by jfitz...@gmail.com on 27 Oct 2008 at 9:56

  • Added labels: ****
  • Removed labels: ****
@GoogleCodeExporter

This comment has been minimized.

Show comment
Hide comment
@GoogleCodeExporter

GoogleCodeExporter Mar 25, 2015

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

Original comment by philippe...@gmail.com on 24 Jan 2009 at 9:57

  • Changed state: Fixed
  • Added labels: Version-Seaside2.9
  • Removed labels: ****
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

Original comment by philippe...@gmail.com on 24 Jan 2009 at 9:57

  • Changed state: Fixed
  • Added labels: Version-Seaside2.9
  • Removed labels: ****
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment