public class InclusiveByteRange
extends java.lang.Object
parses the following types of byte ranges: bytes=100-499 bytes=-300 bytes=100- bytes=1-2,2-3,6-,-2 given an entity length, converts range to string bytes 100-499/500Based on RFC2616 3.12, 14.16, 14.35.1, 14.35.2
And yes the spec does strangely say that while 10-20, is bytes 10 to 20 and 10- is bytes 10 until the end that -20 IS NOT bytes 0-20, but the last 20 bytes of the content.
Modifier and Type | Field and Description |
---|---|
(package private) long |
first |
(package private) long |
last |
private static Logger |
LOG |
Constructor and Description |
---|
InclusiveByteRange(long first,
long last) |
Modifier and Type | Method and Description |
---|---|
long |
getFirst() |
long |
getFirst(long size) |
long |
getLast() |
long |
getLast(long size) |
long |
getSize(long size) |
static java.util.List<InclusiveByteRange> |
satisfiableRanges(java.util.Enumeration<java.lang.String> headers,
long size) |
static java.lang.String |
to416HeaderRangeString(long size) |
java.lang.String |
toHeaderRangeString(long size) |
java.lang.String |
toString() |
private static final Logger LOG
long first
long last
public long getFirst()
public long getLast()
public static java.util.List<InclusiveByteRange> satisfiableRanges(java.util.Enumeration<java.lang.String> headers, long size)
headers
- Enumeration of Range header fields.size
- Size of the resource.public long getFirst(long size)
public long getLast(long size)
public long getSize(long size)
public java.lang.String toHeaderRangeString(long size)
public static java.lang.String to416HeaderRangeString(long size)
public java.lang.String toString()
toString
in class java.lang.Object