Package org.eclipse.jetty.server
Class InclusiveByteRange
- java.lang.Object
-
- org.eclipse.jetty.server.InclusiveByteRange
-
public class InclusiveByteRange extends java.lang.Object
Byte range inclusive of end points.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/500
Based on RFC2616 3.12, 14.16, 14.35.1, 14.35.2And 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.
- Version:
- $version$
-
-
Constructor Summary
Constructors Constructor Description InclusiveByteRange(long first, long last)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
coalesce(InclusiveByteRange r)
boolean
equals(java.lang.Object obj)
long
getFirst()
long
getLast()
long
getSize()
int
hashCode()
private boolean
overlaps(InclusiveByteRange range)
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()
-
-
-
Field Detail
-
LOG
private static final Logger LOG
-
first
private long first
-
last
private long last
-
-
Method Detail
-
getFirst
public long getFirst()
-
getLast
public long getLast()
-
coalesce
private void coalesce(InclusiveByteRange r)
-
overlaps
private boolean overlaps(InclusiveByteRange range)
-
getSize
public long getSize()
-
toHeaderRangeString
public java.lang.String toHeaderRangeString(long size)
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equals
in classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
satisfiableRanges
public static java.util.List<InclusiveByteRange> satisfiableRanges(java.util.Enumeration<java.lang.String> headers, long size)
- Parameters:
headers
- Enumeration of Range header fields.size
- Size of the resource.- Returns:
- List of satisfiable ranges
-
to416HeaderRangeString
public static java.lang.String to416HeaderRangeString(long size)
-
-