diff options
Diffstat (limited to 'jetty-server')
-rw-r--r-- | jetty-server/src/main/java/org/eclipse/jetty/server/Response.java | 6 | ||||
-rw-r--r-- | jetty-server/src/main/java/org/eclipse/jetty/server/handler/ResourceHandler.java | 7 |
2 files changed, 7 insertions, 6 deletions
diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/Response.java b/jetty-server/src/main/java/org/eclipse/jetty/server/Response.java index feb3286745..b32e681ec7 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/Response.java +++ b/jetty-server/src/main/java/org/eclipse/jetty/server/Response.java @@ -137,10 +137,10 @@ public class Response implements HttpServletResponse Response response = _channel.getResponse(); String contentType = httpContent.getContentType(); if (contentType != null && !response.getHttpFields().containsKey(HttpHeader.CONTENT_TYPE.asString())) - response.getHttpFields().put(HttpHeader.CONTENT_TYPE, contentType); - + setContentType(contentType); + if (httpContent.getContentLength() > 0) - response.getHttpFields().putLongField(HttpHeader.CONTENT_LENGTH, httpContent.getContentLength()); + setLongContentLength(httpContent.getContentLength()); String lm = httpContent.getLastModified(); if (lm != null) diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ResourceHandler.java b/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ResourceHandler.java index b248e3f76e..451e3afae1 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ResourceHandler.java +++ b/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ResourceHandler.java @@ -602,19 +602,20 @@ public class ResourceHandler extends HandlerWrapper HttpFields fields = ((Response)response).getHttpFields(); if (length>0) - fields.putLongField(HttpHeader.CONTENT_LENGTH,length); + ((Response)response).setLongContentLength(length); if (_cacheControl!=null) fields.put(HttpHeader.CACHE_CONTROL,_cacheControl); } else { - if (length>0) + if (length>Integer.MAX_VALUE) response.setHeader(HttpHeader.CONTENT_LENGTH.asString(),Long.toString(length)); + else if (length>0) + response.setContentLength((int)length); if (_cacheControl!=null) response.setHeader(HttpHeader.CACHE_CONTROL.asString(),_cacheControl.toString()); } - } } |