[+1] deprecated them and remove in Wicket 7.x/8.x ?

Remove them and anything related to multi-valued cookies too.

Regards
Sven



On 07/23/2014 04:31 PM, Martin Grigorov wrote:
Hi,

At https://issues.apache.org/jira/browse/WICKET-5648 we identified that the
support for a cookie with several values is broken.
CookieUtils uses FormComponent#VALUE_SEPARATOR to separate the values.
The problem is that VALUE_SEPARATOR is ";" - a semicolon is not allowed
neither in the value nor the name. It is actually used as a separator
between the key/value pairs.

The question is how to fix this ?

The reporter suggested to use URL encoding for the values.
https://developer.mozilla.org/en-US/docs/Web/API/document.cookie also
suggests the same.
The problem is that this is a behavior change - an application may use
values with '/', for example, and read them in JS. If we apply URL encoding
then the app will break. To fix it it will have to use
decodeURIComponent(theValue) at the client side.
Since no one complained about the broken value separator for the last 7
years I suggest to leave like it is now and fix it only in Wicket 7.x.

Other ideas ?

Additionally CookieUtils provide save() and load() methods that work with
FormComponent. I guess they have been used for the IValuePersister impls in
Wicket 1.3.x. At the moment Wicket doesn't use them. The only usage is in
the unit tests.
Should we keep them around or deprecated them and remove in Wicket 7.x/8.x ?


Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov


Reply via email to