src/jdk.httpserver/share/classes/sun/net/httpserver/ExchangeImpl.java
changeset 50681 4254bed3c09d
parent 47216 71c04702a3d5
child 52023 d0c04d180a3b
equal deleted inserted replaced
50678:818a23db260c 50681:4254bed3c09d
   225                 logger.log (Level.WARNING, msg);
   225                 logger.log (Level.WARNING, msg);
   226             }
   226             }
   227             contentLen = -1;
   227             contentLen = -1;
   228         }
   228         }
   229 
   229 
   230         if (isHeadRequest()) {
   230         if (isHeadRequest() || rCode == 304) {
   231             /* HEAD requests should not set a content length by passing it
   231             /* HEAD requests or 304 responses should not set a content length by passing it
   232              * through this API, but should instead manually set the required
   232              * through this API, but should instead manually set the required
   233              * headers.*/
   233              * headers.*/
   234             if (contentLen >= 0) {
   234             if (contentLen >= 0) {
   235                 final Logger logger = server.getLogger();
   235                 final Logger logger = server.getLogger();
   236                 String msg =
   236                 String msg =
   237                     "sendResponseHeaders: being invoked with a content length for a HEAD request";
   237                     "sendResponseHeaders: being invoked with a content length for a HEAD request";
   238                 logger.log (Level.WARNING, msg);
   238                 logger.log (Level.WARNING, msg);
   239             }
   239             }
   240             noContentToSend = true;
   240             noContentToSend = true;
   241             contentLen = 0;
   241             contentLen = 0;
   242         } else { /* not a HEAD request */
   242         } else { /* not a HEAD request or 304 response */
   243             if (contentLen == 0) {
   243             if (contentLen == 0) {
   244                 if (http10) {
   244                 if (http10) {
   245                     o.setWrappedStream (new UndefLengthOutputStream (this, ros));
   245                     o.setWrappedStream (new UndefLengthOutputStream (this, ros));
   246                     close = true;
   246                     close = true;
   247                 } else {
   247                 } else {