@Override public Resource getResource() { return _content.getResource(); }
@Override public HttpField getContentLength() { return _precompressedContent.getContentLength(); }
@Override public HttpField getContentType() { return _content.getContentType(); }
String contentType = httpContent.getContentType(); if (contentType != null && !response.getHttpFields().containsKey(HttpHeader.CONTENT_TYPE.asString())) response.getHttpFields().put(HttpHeader.CONTENT_TYPE, contentType); if (httpContent.getContentLength() > 0) response.getHttpFields().putLongField(HttpHeader.CONTENT_LENGTH, httpContent.getContentLength()); String lm = httpContent.getLastModified(); if (lm != null) response.getHttpFields().put(HttpHeader.LAST_MODIFIED, lm); else if (httpContent.getResource() != null) long lml = httpContent.getResource().lastModified(); if (lml != -1) response.getHttpFields().putDateField(HttpHeader.LAST_MODIFIED, lml); String etag=httpContent.getETag(); if (etag!=null) response.getHttpFields().put(HttpHeader.ETAG,etag); content = httpContent.getDirectBuffer(); if (content == null) content = httpContent.getIndirectBuffer(); if (content == null) content = httpContent.getReadableByteChannel(); if (content == null) content = httpContent.getInputStream();
protected void writeHeaders(HttpServletResponse response,HttpContent content,long count) throws IOException if (content.getContentType()!=null && response.getContentType()==null) response.setContentType(content.getContentType().toString()); HttpFields fields = r.getHttpFields(); if (content.getLastModified()!=null) fields.put(HttpHeaders.LAST_MODIFIED_BUFFER,content.getLastModified()); else if (content.getResource()!=null) long lml=content.getResource().lastModified(); if (lml!=-1) fields.putDateField(HttpHeaders.LAST_MODIFIED_BUFFER,lml); fields.put(HttpHeaders.ETAG_BUFFER,content.getETag()); long lml=content.getResource().lastModified(); if (lml>=0) response.setDateHeader(HttpHeaders.LAST_MODIFIED,lml); response.setHeader(HttpHeaders.ETAG,content.getETag().toString());
public void putHeaders(HttpContent content,long contentLength, boolean etag) HttpField lm = content.getLastModified(); if (lm!=null) _fields.put(lm); _fields.put(content.getContentLength()); _contentLength=content.getContentLengthValue(); HttpField ct=content.getContentType(); if (ct!=null) _characterEncoding=content.getCharacterEncoding(); _mimeType=content.getMimeType(); HttpField ce=content.getContentEncoding(); if (ce!=null) _fields.put(ce); HttpField et = content.getETag(); if (et!=null) _fields.put(et);
content_length=content.getContentLength(); Buffer buffer = direct?content.getDirectBuffer():content.getIndirectBuffer(); if (buffer!=null) Buffer buffer = (content==null)?null:content.getIndirectBuffer(); if (buffer!=null) buffer.writeTo(out); String mimetype=(content.getContentType()==null?null:content.getContentType().toString()); if (mimetype==null) LOG.warn("Unknown mimetype for "+request.getRequestURI());
ByteBuffer buffer = _channel.useDirectBuffers() ? httpContent.getDirectBuffer() : null; if (buffer == null) buffer = httpContent.getIndirectBuffer(); ReadableByteChannel rbc = httpContent.getReadableByteChannel(); if (rbc != null) InputStream in = httpContent.getInputStream(); if (in != null)
if (content.getETag()!=null) if (content.getETag().equals(tag)) match=true; if (if_non_match_etag!=null && content.getETag()!=null) if (content.getETag().equals(request.getAttribute("o.e.j.s.GzipFilter.ETag"))) if (content.getETag().equals(if_non_match_etag)) response.setHeader(HttpHeader.ETAG.asString(),content.getETag()); return false; if (content.getETag().equals(tag)) response.setHeader(HttpHeader.ETAG.asString(),content.getETag()); return false; String mdlm=content.getLastModified(); if (mdlm!=null && ifms.equals(mdlm)) response.setHeader(HttpHeader.ETAG.asString(),content.getETag()); response.flushBuffer(); return false; response.setHeader(HttpHeader.ETAG.asString(),content.getETag()); response.flushBuffer(); return false;
resource=(content==null)?null:content.getResource(); resource=content==null?null:content.getResource(); content.release(); else if (resource!=null) resource.release();
public static void putHeaders(HttpServletResponse response, HttpContent content, long contentLength, boolean etag) long lml=content.getResource().lastModified(); if (lml>=0) response.setDateHeader(HttpHeader.LAST_MODIFIED.asString(),lml); contentLength=content.getContentLengthValue(); if (contentLength >=0) String ct=content.getContentTypeValue(); if (ct!=null && response.getContentType()==null) response.setContentType(ct); String ce=content.getContentEncodingValue(); if (ce!=null) response.setHeader(HttpHeader.CONTENT_ENCODING.asString(),ce); String et=content.getETagValue(); if (et!=null) response.setHeader(HttpHeader.ETAG.asString(),et);
final long content_length = content.getContentLengthValue(); content.getResource().writeTo(out,0,content_length); ByteBuffer buffer = content.getIndirectBuffer(); if (buffer!=null) BufferUtil.writeTo(buffer,out); else content.getResource().writeTo(out,0,content_length); response.setHeader(HttpHeader.CONTENT_RANGE.asString(), InclusiveByteRange.to416HeaderRangeString(content_length)); content.getResource().writeTo(out,0,content_length); return true; response.setHeader(HttpHeader.CONTENT_RANGE.asString(), singleSatisfiableRange.toHeaderRangeString(content_length)); content.getResource().writeTo(out,singleSatisfiableRange.getFirst(content_length),singleLength); return true; String mimetype=(content==null?null:content.getContentTypeValue()); if (mimetype==null) LOG.warn("Unknown mimetype for "+request.getRequestURI()); InputStream in=content.getResource().getInputStream(); long pos=0; in=content.getResource().getInputStream(); pos=0;
throws IOException final long content_length = (content==null)?resource.length():content.getContentLength(); ByteBuffer buffer = (content==null)?null:content.getIndirectBuffer(); if (buffer!=null) BufferUtil.writeTo(buffer,out); String mimetype=(content==null?null:content.getContentType()); if (mimetype==null) LOG.warn("Unknown mimetype for "+request.getRequestURI());
if (content==null || !content.getResource().exists()) if (content.getResource().isDirectory()) HttpContent gzip_content = gzippable?content.getGzipContent():null; if (gzip_content!=null) content.release();
if (content==null || !content.getResource().exists()) if (content.getResource().isDirectory()) Map<CompressedContentFormat,? extends HttpContent> precompressedContents = checkPrecompressedVariants?content.getPrecompressedContents():null; if (precompressedContents!=null && precompressedContents.size()>0) content.release();
String etag=content.getETagValue(); if (ifm!=null) String mdlm=content.getLastModifiedValue(); if (mdlm!=null && ifms.equals(mdlm)) response.setHeader(HttpHeader.ETAG.asString(),content.getETagValue()); response.flushBuffer(); return false; if (ifmsl!=-1 && content.getResource().lastModified()/1000 <= ifmsl/1000) response.setHeader(HttpHeader.ETAG.asString(),content.getETagValue()); response.flushBuffer(); return false; if (ifums!=-1 && content.getResource().lastModified()/1000 > ifums/1000)
@Override public void release() { _content.release(); }
@Override public HttpField getLastModified() { return _content.getLastModified(); }
@Override public ByteBuffer getIndirectBuffer() { return _precompressedContent.getIndirectBuffer(); }
@Override public ByteBuffer getDirectBuffer() { return _precompressedContent.getDirectBuffer(); }