From 8d40487ff7df8517fdc8f3511c80b4d978f04337 Mon Sep 17 00:00:00 2001 From: norman Date: Wed, 23 Nov 2011 07:22:49 +0100 Subject: [PATCH] Backport fix for #72. QueryStringDecoder should also support ; --- .../netty/handler/codec/http/QueryStringDecoder.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/jboss/netty/handler/codec/http/QueryStringDecoder.java b/src/main/java/org/jboss/netty/handler/codec/http/QueryStringDecoder.java index 7136f1e9be..98eb50e359 100644 --- a/src/main/java/org/jboss/netty/handler/codec/http/QueryStringDecoder.java +++ b/src/main/java/org/jboss/netty/handler/codec/http/QueryStringDecoder.java @@ -30,9 +30,11 @@ import java.util.Map; * Splits an HTTP query string into a path string and key-value parameter pairs. * This decoder is for one time use only. Create a new instance for each URI: *
- * {@link QueryStringDecoder} decoder = new {@link QueryStringDecoder}("/hello?recipient=world");
+ * {@link QueryStringDecoder} decoder = new {@link QueryStringDecoder}("/hello?recipient=world&x=1;y=2");
  * assert decoder.getPath().equals("/hello");
  * assert decoder.getParameters().get("recipient").equals("world");
+ * assert decoder.getParameters().get("x").equals("1");
+ * assert decoder.getParameters().get("y").equals("2");
  * 
* * @author The Netty Project @@ -73,7 +75,8 @@ public class QueryStringDecoder { throw new NullPointerException("charset"); } - this.uri = uri; + // http://en.wikipedia.org/wiki/Query_string + this.uri = uri.replace(';', '&'); this.charset = charset; } @@ -105,7 +108,8 @@ public class QueryStringDecoder { throw new NullPointerException("charset"); } - this.uri = uri.toASCIIString(); + // http://en.wikipedia.org/wiki/Query_string + this.uri = uri.toASCIIString().replace(';', '&'); this.charset = charset; }