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: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org