Version 1 cookies being eaten by the code
Status: Beta
Brought to you by:
sonalb
Does not pick version 1 and version 2 cookies
The simple use case doesn't work'
The code below DOES NOT get version 1 and version 0
cookies. Instead it overwrites the version 0 cookie
header with the version 1, therfore missing all the
version 1 cookies
public Header getCookieHeaders(CookieJar cj)
{
if(cj == null)
{
throw new IllegalArgumentException("Null CookieJar");
}
if\(cj.isEmpty\(\)\) \{ return\(null\); \} CookieJar eligibleV1Cookies =
sortCookiesByPathSpecificity(cj.getVersionCookies("1"));
CookieJar eligibleV0Cookies =
sortCookiesByPathSpecificity(cj.getVersionCookies("0"));
Header headers = new Header\(\); headers.add\("Cookie2","1"\); StringBuffer sb; boolean bFirstElement; Iterator iter; if\(\!eligibleV1Cookies.isEmpty\(\)\) \{ sb = new StringBuffer\(\); bFirstElement = true; iter = eligibleV1Cookies.iterator\(\); while\(iter.hasNext\(\)\) \{ if\(bFirstElement\) \{ sb.append\(toCookieHeaderForm\(\(Cookie\) iter.next\(\),
true));
bFirstElement = false;
}
else
{
sb.append(toCookieHeaderForm((Cookie) iter.next(),
false));
}
sb.append\(";"\); \} sb.deleteCharAt\(sb.length\(\)-1\); headers.add\("Cookie",sb.toString\(\)\); \}