0

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

谢谢!

4

1 回答 1

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());
}
于 2012-06-27T03:40:06.213 回答