doc: clarify duplicate header handling
authorBryan English <bryan@bryanenglish.com>
Fri, 13 Nov 2015 07:21:22 +0000 (23:21 -0800)
committerJames M Snell <jasnell@gmail.com>
Wed, 23 Dec 2015 16:38:33 +0000 (08:38 -0800)
This commit documents how duplicate HTTP headers are handled.

PR-URL: https://github.com/nodejs/node/pull/3810
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
doc/api/http.markdown

index 2e4775398c68dc4bc439841bc3370d80a911888e..0714ebd461f1016dd9642726c5cbf00b3aa41768 100644 (file)
@@ -816,6 +816,16 @@ Example:
     //   accept: '*/*' }
     console.log(request.headers);
 
+Duplicates in raw headers are handled in the following ways, depending on the
+header name:
+
+* Duplicates of `age`, `authorization`, `content-length`, `content-type`,
+`etag`, `expires`, `from`, `host`, `if-modified-since`, `if-unmodified-since`,
+`last-modified`, `location`, `max-forwards`, `proxy-authorization`, `referer`,
+`retry-after`, or `user-agent` are discarded.
+* `set-cookie` is always an array. Duplicates are added to the array.
+* For all other headers, the values are joined together with ', '.
+
 ### message.httpVersion
 
 In case of server request, the HTTP version sent by the client. In the case of