Author: sebb
Date: Mon Apr  2 16:45:49 2007
New Revision: 524971

URL: http://svn.apache.org/viewvc?view=rev&rev=524971
Log:
Bug 42022 - HTTPSampler does not allow multiple headers of same name

Modified:
    
jakarta/jmeter/branches/rel-2-2/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSampler.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/sampler/HTTPSampler.java
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSampler.java?view=diff&rev=524971&r1=524970&r2=524971
==============================================================================
--- 
jakarta/jmeter/branches/rel-2-2/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSampler.java
 (original)
+++ 
jakarta/jmeter/branches/rel-2-2/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSampler.java
 Mon Apr  2 16:45:49 2007
@@ -30,6 +30,7 @@
 import java.net.URLConnection;
 
 import java.util.Iterator;
+import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import java.util.zip.GZIPInputStream;
@@ -348,7 +349,7 @@
         *            for this <code>UrlConfig</code>
         */
        private void setConnectionHeaders(HttpURLConnection conn, URL u, 
HeaderManager headerManager) {
-        // Set all the headers from the HeaderManager
+        // Add all the headers from the HeaderManager
                if (headerManager != null) {
                        CollectionProperty headers = headerManager.getHeaders();
                        if (headers != null) {
@@ -357,7 +358,7 @@
                                        Header header = (Header) 
i.next().getObjectValue();
                                        String n = header.getName();
                                        String v = header.getValue();
-                                       conn.setRequestProperty(n, v);
+                                       conn.addRequestProperty(n, v);
                                }
                        }
                }
@@ -375,19 +376,21 @@
         // Get all the request properties, which are the headers set on the 
connection
         StringBuffer hdrs = new StringBuffer(100);
         Map requestHeaders = conn.getRequestProperties();
-        Set headerFields = requestHeaders.keySet();
+        Set headerFields = requestHeaders.entrySet();
         for(Iterator i = headerFields.iterator(); i.hasNext();) {
-            String headerKey = (String)i.next();
+               Map.Entry entry = (Map.Entry)i.next();
+               String headerKey=(String) entry.getKey();
             // Exclude the COOKIE header, since cookie is reported separately 
in the sample
             if(!HEADER_COOKIE.equalsIgnoreCase(headerKey)) {            
-                String headerValue = conn.getRequestProperty(headerKey);
-                hdrs.append(headerKey);
-                hdrs.append(": "); // $NON-NLS-1$
-                hdrs.append(headerValue);
-                hdrs.append("\n"); // $NON-NLS-1$
+               List values = (List) entry.getValue();// value is a List of 
Strings
+               for (int j=0;j<values.size();j++){                      
+                    hdrs.append(headerKey);
+                    hdrs.append(": "); // $NON-NLS-1$                
+                    hdrs.append((String) values.get(j));
+                    hdrs.append("\n"); // $NON-NLS-1$
+               }
             }
         }
-
         return hdrs.toString();
     }
 

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=524971&r1=524970&r2=524971
==============================================================================
--- jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml (original)
+++ jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml Mon Apr  2 16:45:49 2007
@@ -196,6 +196,7 @@
 <li>Bug 41905 - Can't cut/paste/select Header Manager fields in Java 1.6</li>
 <li>Bug 41928 - Make all request headers sent by HTTP Request sampler appear 
in sample result</li>
 <li>Bug 41944 - Subresults not handled recursively by ResultSaver</li>
+<li>Bug 42022 - HTTPSampler does not allow multiple headers of same name</li>
 </ul>
 
 <h3>Version 2.2</h3>



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to