Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

support path parameters in WAUrl #660

Closed
GoogleCodeExporter opened this issue Mar 25, 2015 · 1 comment
Closed

support path parameters in WAUrl #660

GoogleCodeExporter opened this issue Mar 25, 2015 · 1 comment

Comments

@GoogleCodeExporter
Copy link

There is a really rarely used syntax in URLs that allows adding path parameters 
to each path element [1] [2]. Resulting URLs may look like this:

/path/name;param=val1,val2,val3
/path;param1=val1/name;param2=val2

Many Java web servers use this for session tracking (session key does not have 
to be repeated in forms). The reason this is interesting for us is that some 
affinity aware load balancers therefore expect sessions ids to be passed like 
this instead of query parameters. This issue is just about adding support for 
support path parameters to WAUrl, nothing in the current session tracking 
should be changed

Since this hasn't been used in ten years the implementation should take care 
that when not needed the cost of this feature is a just nil field in WAUrl.

 [1] http://doriantaylor.com/policy/http-url-path-parameter-syntax
 [2] http://en.wikipedia.org/wiki/URI_scheme#Generic_syntax

Original issue reported on code.google.com by [email protected] on 6 Jul 2011 at 7:34

@GoogleCodeExporter
Copy link
Author

The code is a bit ugly. Care has been taken that the pathParameters instance 
variable stays nil unless there actually are pathParameters. The parsing 
overhead if there are no path parameters is an additional #indexOf: (which is a 
primitive) for each path element and an integer counter. The path parameter 
parsing code makes a few to many copies but that shouldn't matter since I 
expect at most one path element.

Name: Seaside-Core-pmm.718
Author: pmm
Time: 9 July 2011, 4:36:39 pm
UUID: c1d30608-2865-90b5-20ca-f2b4a46c1508
Ancestors: Seaside-Core-pmm.717

- Issue 660:    support path parameters in WAUrl
- http://code.google.com/p/seaside/issues/detail?id=660

Name: Seaside-Tests-Core-pmm.224
Author: pmm
Time: 9 July 2011, 4:37:06 pm
UUID: c1d30608-4424-ecb5-20ca-f2b4a46c1508
Ancestors: Seaside-Tests-Core-pmm.223

- Issue 660:    support path parameters in WAUrl
- http://code.google.com/p/seaside/issues/detail?id=660

Original comment by [email protected] on 9 Jul 2011 at 2:46

  • Changed state: Fixed
  • Added labels: ****
  • Removed labels: ****

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant