CookieDecoder中允许的字符

时间:2012-06-26 18:27:09

标签: netty

我公司在Cookie值中使用了许多包含'='和','的旧Cookie。一个例子是:A = v = 1& lg = en-US,it-IT,它& intl = it& np = 1; T = z = E.现在,我们无法摆脱这些cookie,我们需要Netty不会在验证这些cookie时抛出IllegalArgumentException。有什么建议吗?是否可以向CookieDecoder提交补丁,也可以在某些env变量中读取,这将相应地选择正确的正则表达式?

谢谢!

1 个答案:

答案 0 :(得分:0)

Netty 3.5.1.Final解码你提到的cookie没有问题:

@Test
public void testDecodingValuesWithCommasAndEquals() {
    String src = "A=v=1&lg=en-US,it-IT,it&intl=it&np=1;T=z=E";
    Set<Cookie> cookies = new CookieDecoder().decode(src);
    Iterator<Cookie> i = cookies.iterator();
    Cookie c = i.next();
    assertEquals("A", c.getName());
    assertEquals("v=1&lg=en-US,it-IT,it&intl=it&np=1", c.getValue());
    c = i.next();
    assertEquals("T", c.getName());
    assertEquals("z=E", c.getValue());
}