@Override public long getAvailableSize() { return getWrappedRepresentation().getAvailableSize(); }
/** * Returns the available size in bytes of the encoded representation if * known, UNKNOWN_SIZE (-1) otherwise. * * @return The available size in bytes if known, UNKNOWN_SIZE (-1) * otherwise. */ @Override public long getAvailableSize() { long result = UNKNOWN_SIZE; if (canEncode()) { if (this.encoding.equals(Encoding.IDENTITY)) { result = getWrappedRepresentation().getAvailableSize(); } } else { result = getWrappedRepresentation().getAvailableSize(); } return result; }
@Override public void writeResponseHead(org.restlet.Response restletResponse) throws IOException { final Headers headers = this.exchange.getResponseHeaders(); for (Header header : getResponseHeaders()) { headers.add(header.getName(), header.getValue()); } // Send the headers Representation entity = restletResponse.getEntity(); long responseLength = 0; if (entity == null || !entity.isAvailable()) { responseLength = -1; } else if (entity.getAvailableSize() != Representation.UNKNOWN_SIZE) { responseLength = entity.getAvailableSize(); } this.exchange.sendResponseHeaders(getStatusCode(), responseLength); }
&& requestedRange.getSize() > response.getEntity().getAvailableSize()) { requestedRange.setSize(Range.SIZE_MAX);
if (entity == null || !entity.isAvailable()) { addHeader(HEADER_CONTENT_LENGTH, "0", headers); } else if (entity.getAvailableSize() != UNKNOWN_SIZE) { addHeader(HEADER_CONTENT_LENGTH, Long.toString(entity.getAvailableSize()), headers);