Author: markt
Date: Wed Aug 25 16:44:08 2010
New Revision: 989211
URL: http://svn.apache.org/viewvc?rev=989211&view=rev
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=38113
Modified:
tomcat/trunk/java/org/apache/catalina/connector/Request.java
tomcat/trunk/test/org/apache/catalina/connector/TestRequest.java
Modified: tomcat/trunk/java/org/apache/catalina/connector/Request.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/Request.java?rev=989211&r1=989210&r2=989211&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/connector/Request.java (original)
+++ tomcat/trunk/java/org/apache/catalina/connector/Request.java Wed Aug 25
16:44:08 2010
@@ -2032,12 +2032,7 @@ public class Request
* Return the query string associated with this request.
*/
public String getQueryString() {
- String queryString = coyoteRequest.queryString().toString();
- if (queryString == null || queryString.equals("")) {
- return null;
- }
-
- return queryString;
+ return coyoteRequest.queryString().toString();
}
Modified: tomcat/trunk/test/org/apache/catalina/connector/TestRequest.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/connector/TestRequest.java?rev=989211&r1=989210&r2=989211&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/catalina/connector/TestRequest.java (original)
+++ tomcat/trunk/test/org/apache/catalina/connector/TestRequest.java Wed Aug 25
16:44:08 2010
@@ -201,6 +201,51 @@ public class TestRequest extends TomcatB
}
/**
+ * Test case for
+ * <a href="https://issues.apache.org/bugzilla/show_bug.cgi?id=38113">bug
+ * 38118</a>.
+ */
+ public void testBug38113() throws Exception {
+ // Setup Tomcat instance
+ Tomcat tomcat = getTomcatInstance();
+
+ // Must have a real docBase - just use temp
+ Context ctx =
+ tomcat.addContext("/", System.getProperty("java.io.tmpdir"));
+
+ // Add the Servlet
+ Tomcat.addServlet(ctx, "servlet", new EchoQueryStringServlet());
+ ctx.addServletMapping("/", "servlet");
+
+ tomcat.start();
+
+ // No query string
+ ByteChunk res = getUrl("http://localhost:" + getPort() + "/");
+ assertEquals("QueryString=null", res.toString());
+
+ // Query string
+ res = getUrl("http://localhost:" + getPort() + "/?a=b");
+ assertEquals("QueryString=a=b", res.toString());
+
+ // Empty string
+ res = getUrl("http://localhost:" + getPort() + "/?");
+ assertEquals("QueryString=", res.toString());
+ }
+
+ private static final class EchoQueryStringServlet extends HttpServlet {
+
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ protected void doGet(HttpServletRequest req, HttpServletResponse resp)
+ throws ServletException, IOException {
+ resp.setContentType("text/plain");
+ PrintWriter pw = resp.getWriter();
+ pw.print("QueryString=" + req.getQueryString());
+ }
+ }
+
+ /**
* Test case for {...@link Request#login(String, String)} and
* {...@link Request#logout()}.
*/
@@ -227,7 +272,6 @@ public class TestRequest extends TomcatB
tomcat.start();
ByteChunk res = getUrl("http://localhost:" + getPort() + "/");
-
assertEquals(LoginLogoutServlet.OK, res.toString());
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]