Module: RangeHeaderParser

Extended by:
RangeHeaderParser
Included in:
RangeHeaderParser
Defined in:
lib/range_header_parser.rb,
lib/range_header_parser/version.rb

Constant Summary collapse

RANGE_RE =
/^(\d+)-(\d+)$/.freeze
RANGE_FROM =
/^(\d+)-$/.freeze
RANGE_LAST_N =
/^-(\d+)$/.freeze
BYTES_RE =
/^bytes=(.*)/.freeze
InvalidHeader =
Class.new(RuntimeError)
InvalidRange =
Class.new(InvalidHeader)
VERSION =
'1.0.0'

Instance Method Summary collapse

Instance Method Details

#parse(header_str, resource_size) ⇒ Object

Parses a given string from Range: header, and returns an Array of Range objects.

Overlapping and adjacent ranges will be spliced.



16
17
18
19
# File 'lib/range_header_parser.rb', line 16

def parse(header_str, resource_size)
  ranges = ranges_from_header_str(header_str, resource_size)
  RangeUtils.splice(ranges)
end