in src/main/java/org/apache/sling/servlets/post/impl/helper/StreamedChunk.java [392:422]
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");
}
}