Class InclusiveByteRange

java.lang.Object
org.eclipse.jetty.server.InclusiveByteRange

public class InclusiveByteRange extends 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.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.

Version:
$version$
  • Constructor Details

    • InclusiveByteRange

      public InclusiveByteRange(long first, long last)
  • Method Details

    • getFirst

      public long getFirst()
    • getLast

      public long getLast()
    • getSize

      public long getSize()
    • toHeaderRangeString

      public String toHeaderRangeString(long size)
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • satisfiableRanges

      public static List<InclusiveByteRange> satisfiableRanges(Enumeration<String> headers, long size)
      Parameters:
      headers - Enumeration of Range header fields.
      size - Size of the resource.
      Returns:
      List of satisfiable ranges
    • to416HeaderRangeString

      public static String to416HeaderRangeString(long size)