2012-06-26 92 views
0

我的公司使用很多包含'='和','的cookie值的遺留cookie。一個例子是:A = v = 1 & lg = en-US,it-IT,它& intl = it & np = 1; T = z = E。現在不可能擺脫這些cookie,我們需要Netty在驗證這些cookie時不拋出IllegalArgumentException。有什麼建議嗎?向CookieDecoder提交補丁是否可以,可以在某個env變量中讀取,它會相應地選擇正確的正則表達式?CookieDecoder中允許的字符

謝謝!

回答

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()); 
} 
+0

真棒,謝謝你這麼多的尋找到這個!我們使用3.3.1.Final和CookieDecoder邏輯完全不同,這解釋了一些事情。再次感謝! –