in src/main/java/org/apache/sling/servlets/post/impl/helper/StreamedChunk.java [391:417]
public ContentRange(String contentRangeHeader) {
Matcher m = rangePattern.matcher(contentRangeHeader);
if ( m.find() ) {
offset = Long.parseLong(m.group(1));
long end = Long.parseLong(m.group(2));
range = end-offset+1;
if ("*".equals(m.group(4))) {
length = -1;
} else {
length = Long.parseLong(m.group(3));
if ( offset > length ) {
throw new IllegalArgumentException("Range header "+contentRangeHeader+" is invalid, offset beyond end.");
}
if ( end > length ) {
throw new IllegalArgumentException("Range header "+contentRangeHeader+" is invalid, range end beyond end.");
}
if ( range > length ) {
throw new IllegalArgumentException("Range header "+contentRangeHeader+" is invalid, range greater than length.");
}
}
if ( offset > end ) {
throw new IllegalArgumentException("Range header "+contentRangeHeader+" is invalid, offset beyond end of range.");
}
} else {
throw new IllegalArgumentException("Range header "+contentRangeHeader+" is invalid");
}
}