public ContentRange()

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