Fix display of response headers in AccessLogValve:
authorkkolinko <kkolinko@13f79535-47bb-0310-9956-ffa450edef68>
Mon, 4 Apr 2011 00:57:17 +0000 (00:57 +0000)
committerkkolinko <kkolinko@13f79535-47bb-0310-9956-ffa450edef68>
Mon, 4 Apr 2011 00:57:17 +0000 (00:57 +0000)
1. When no headers are there, display "-" instead of empty string
2. Do not forget "," between multiple values
TC6 already does that but it was broken here in r767956

git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1088458 13f79535-47bb-0310-9956-ffa450edef68

java/org/apache/catalina/connector/Response.java
java/org/apache/catalina/valves/AccessLogValve.java
webapps/docs/changelog.xml

index 00eb844..df7d8fa 100644 (file)
@@ -913,7 +913,7 @@ public class Response
 
 
     /**
-     * Return an Iterable of all the header values associated with the
+     * Return a Collection of all the header values associated with the
      * specified header name.
      *
      * @param name Header name to look up
index 78f92c5..3129f88 100644 (file)
@@ -1290,18 +1290,17 @@ public class AccessLogValve extends ValveBase implements AccessLog {
         @Override
         public void addElement(StringBuilder buf, Date date, Request request,
                 Response response, long time) {
-           if (null != response) {
+            if (null != response) {
                 Iterator<String> iter = response.getHeaders(header).iterator();
-                boolean first = true;
-                while (iter.hasNext()) {
-                    if (!first) {
-                        buf.append(",");
-                    }
+                if (iter.hasNext()) {
                     buf.append(iter.next());
+                    while (iter.hasNext()) {
+                        buf.append(',').append(iter.next());
+                    }
+                    return;
                 }
-                return ;
             }
-            buf.append("-");
+            buf.append('-');
         }
     }
     
index 99cc719..63d5f67 100644 (file)
@@ -48,6 +48,9 @@
       <fix>
         Correct mix-up in Realm Javadoc. (markt)
       </fix>
+      <fix>
+        Fix display of response headers in AccessLogValve. (kkolinko)
+      </fix>
     </changelog>
   </subsection>
   <subsection name="Web applications">