public ContentRange()

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");
            }
        }