You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by cr...@apache.org on 2001/05/01 06:19:29 UTC
cvs commit: jakarta-tomcat-4.0/tester/src/tester/org/apache/tester GetHeaders01.java
craigmcc 01/04/30 21:19:28
Modified: tester/src/tester/org/apache/tester GetHeaders01.java
Log:
According to the HTTP/1.1 specification (Section 4.2), it is legal for a proxy server (and, thus, Apache's mod_proxy module) to combine header values for two occurrences of the same header like this:
Accept-Language: en-us
Accept:Language: en-gb
into a single header:
Accept-Language: en-us,en-gb
Make this test succeed correctly even if this event occurs.
Revision Changes Path
1.2 +10 -3 jakarta-tomcat-4.0/tester/src/tester/org/apache/tester/GetHeaders01.java
Index: GetHeaders01.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat-4.0/tester/src/tester/org/apache/tester/GetHeaders01.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- GetHeaders01.java 2000/12/26 18:57:44 1.1
+++ GetHeaders01.java 2001/05/01 04:19:26 1.2
@@ -69,7 +69,7 @@
* "Accept-Language" headers.
*
* @author Craig R. McClanahan
- * @version $Revision: 1.1 $ $Date: 2000/12/26 18:57:44 $
+ * @version $Revision: 1.2 $ $Date: 2001/05/01 04:19:26 $
*/
public class GetHeaders01 extends HttpServlet {
@@ -82,8 +82,15 @@
ArrayList values = new ArrayList();
Enumeration headers = request.getHeaders("Accept-Language");
while (headers.hasMoreElements()) {
- String header = (String) headers.nextElement();
- values.add(header);
+ String header = (String) headers.nextElement() + ",";
+ while (true) {
+ int comma = header.indexOf(",");
+ if (comma < 0)
+ break;
+ String value = header.substring(0, comma).trim();
+ values.add(value);
+ header = header.substring(comma + 1).trim();
+ }
}
if (values.size() != 2)
writer.println("GetHeaders01 FAILED - Returned " + values.size()