416663 Content-length set by resourcehandler
This commit is contained in:
parent
b8a4bf37e6
commit
ee52769dea
|
@ -135,10 +135,10 @@ public class Response implements HttpServletResponse
|
||||||
Response response = _channel.getResponse();
|
Response response = _channel.getResponse();
|
||||||
String contentType = httpContent.getContentType();
|
String contentType = httpContent.getContentType();
|
||||||
if (contentType != null && !response.getHttpFields().containsKey(HttpHeader.CONTENT_TYPE.asString()))
|
if (contentType != null && !response.getHttpFields().containsKey(HttpHeader.CONTENT_TYPE.asString()))
|
||||||
response.getHttpFields().put(HttpHeader.CONTENT_TYPE, contentType);
|
setContentType(contentType);
|
||||||
|
|
||||||
if (httpContent.getContentLength() > 0)
|
if (httpContent.getContentLength() > 0)
|
||||||
response.getHttpFields().putLongField(HttpHeader.CONTENT_LENGTH, httpContent.getContentLength());
|
setLongContentLength(httpContent.getContentLength());
|
||||||
|
|
||||||
String lm = httpContent.getLastModified();
|
String lm = httpContent.getLastModified();
|
||||||
if (lm != null)
|
if (lm != null)
|
||||||
|
|
|
@ -602,19 +602,20 @@ public class ResourceHandler extends HandlerWrapper
|
||||||
HttpFields fields = ((Response)response).getHttpFields();
|
HttpFields fields = ((Response)response).getHttpFields();
|
||||||
|
|
||||||
if (length>0)
|
if (length>0)
|
||||||
fields.putLongField(HttpHeader.CONTENT_LENGTH,length);
|
((Response)response).setLongContentLength(length);
|
||||||
|
|
||||||
if (_cacheControl!=null)
|
if (_cacheControl!=null)
|
||||||
fields.put(HttpHeader.CACHE_CONTROL,_cacheControl);
|
fields.put(HttpHeader.CACHE_CONTROL,_cacheControl);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (length>0)
|
if (length>Integer.MAX_VALUE)
|
||||||
response.setHeader(HttpHeader.CONTENT_LENGTH.asString(),Long.toString(length));
|
response.setHeader(HttpHeader.CONTENT_LENGTH.asString(),Long.toString(length));
|
||||||
|
else if (length>0)
|
||||||
|
response.setContentLength((int)length);
|
||||||
|
|
||||||
if (_cacheControl!=null)
|
if (_cacheControl!=null)
|
||||||
response.setHeader(HttpHeader.CACHE_CONTROL.asString(),_cacheControl.toString());
|
response.setHeader(HttpHeader.CACHE_CONTROL.asString(),_cacheControl.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -988,7 +988,6 @@ public class DefaultServlet extends HttpServlet implements ResourceFactory
|
||||||
else
|
else
|
||||||
// Handle cached resource
|
// Handle cached resource
|
||||||
(resource).writeTo(multi,start,size);
|
(resource).writeTo(multi,start,size);
|
||||||
|
|
||||||
}
|
}
|
||||||
if (in!=null)
|
if (in!=null)
|
||||||
in.close();
|
in.close();
|
||||||
|
|
Loading…
Reference in New Issue