You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jmeter-dev@jakarta.apache.org by se...@apache.org on 2007/03/22 00:51:24 UTC

svn commit: r521050 - in /jakarta/jmeter/branches/rel-2-2: src/protocol/http/org/apache/jmeter/protocol/http/config/MultipartUrlConfig.java src/protocol/http/org/apache/jmeter/protocol/http/proxy/HttpRequestHdr.java xdocs/changes.xml

Author: sebb
Date: Wed Mar 21 16:51:22 2007
New Revision: 521050

URL: http://svn.apache.org/viewvc?view=rev&rev=521050
Log:
Bug 41837 - Parameter value corruption in proxy

Modified:
    jakarta/jmeter/branches/rel-2-2/src/protocol/http/org/apache/jmeter/protocol/http/config/MultipartUrlConfig.java
    jakarta/jmeter/branches/rel-2-2/src/protocol/http/org/apache/jmeter/protocol/http/proxy/HttpRequestHdr.java
    jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml

Modified: jakarta/jmeter/branches/rel-2-2/src/protocol/http/org/apache/jmeter/protocol/http/config/MultipartUrlConfig.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/src/protocol/http/org/apache/jmeter/protocol/http/config/MultipartUrlConfig.java?view=diff&rev=521050&r1=521049&r2=521050
==============================================================================
--- jakarta/jmeter/branches/rel-2-2/src/protocol/http/org/apache/jmeter/protocol/http/config/MultipartUrlConfig.java (original)
+++ jakarta/jmeter/branches/rel-2-2/src/protocol/http/org/apache/jmeter/protocol/http/config/MultipartUrlConfig.java Wed Mar 21 16:51:22 2007
@@ -124,7 +124,7 @@
 				String name = parts[i].substring(index, parts[i].indexOf("\"", index));
 				index = parts[i].indexOf("\n", index) + 2;
 				String value = parts[i].substring(index).trim();
-				this.addEncodedArgument(name, value);
+				this.addArgument(name, value);
 			}
 		}
 	}

Modified: jakarta/jmeter/branches/rel-2-2/src/protocol/http/org/apache/jmeter/protocol/http/proxy/HttpRequestHdr.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/src/protocol/http/org/apache/jmeter/protocol/http/proxy/HttpRequestHdr.java?view=diff&rev=521050&r1=521049&r2=521050
==============================================================================
--- jakarta/jmeter/branches/rel-2-2/src/protocol/http/org/apache/jmeter/protocol/http/proxy/HttpRequestHdr.java (original)
+++ jakarta/jmeter/branches/rel-2-2/src/protocol/http/org/apache/jmeter/protocol/http/proxy/HttpRequestHdr.java Wed Mar 21 16:51:22 2007
@@ -80,6 +80,8 @@
 
 	private HTTPSamplerBase sampler;
 
+	private HeaderManager headerManager;
+	
 	/*
 	 * Optionally number the requests
 	 */
@@ -177,7 +179,7 @@
 		return 0;
 	}
 
-	public HeaderManager getHeaderManager() {
+	private HeaderManager createHeaderManager() {
 		HeaderManager manager = new HeaderManager();
 		Iterator keys = headers.keySet().iterator();
 		while (keys.hasNext()) {
@@ -192,6 +194,13 @@
 		return manager;
 	}
 
+	public HeaderManager getHeaderManager() {
+		if(headerManager == null) {
+			headerManager = createHeaderManager();
+		}
+		return headerManager;
+	}
+
 	public HTTPSamplerBase getSampler() throws MalformedURLException, IOException, ProtocolException {
 		// Damn! A whole new GUI just to instantiate a test element?
 		// Isn't there a beter way?
@@ -269,6 +278,16 @@
 		}
 		if ((urlConfig = isMultipart(getContentType())) != null) {
 			urlConfig.parseArguments(postData);
+			// If no file is uploaded, then it was really a multipart/form-data
+			// post request. But currently, that is not supported, so we must
+			// change the "Content-Type" header from multipart/form-data to
+			// application/x-www-form-urlencoded, which is the one the HTTP Request
+			// sampler will send
+			if(urlConfig.getFilename() == null) {
+				System.out.println("jada");
+				getHeaderManager().removeHeaderNamed("Content-Type");
+				getHeaderManager().add(new Header("Content-Type", "application/x-www-form-urlencoded"));
+			}
 			sampler.setArguments(urlConfig.getArguments());
 			sampler.setFileField(urlConfig.getFileFieldName());
 			sampler.setFilename(urlConfig.getFilename());

Modified: jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml
URL: http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml?view=diff&rev=521050&r1=521049&r2=521050
==============================================================================
--- jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml (original)
+++ jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml Wed Mar 21 16:51:22 2007
@@ -191,6 +191,7 @@
 <li>Bug 40589 - Unescape XML entities in embedded URLs</li>
 <li>Bug 41902 - NPE in HTTPSampler when responseCode = -1</li>
 <li>Bug 41903 - ViewResultsFullVisualizer : status column looks bad when you do copy and paste</li>
+<li>Bug 41837 - Parameter value corruption in proxy</li>
 </ul>
 
 <h3>Version 2.2</h3>



---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org