.. | ||
example | ||
lib | ||
test | ||
analysis_options.yaml | ||
AUTHORS.md | ||
CHANGELOG.md | ||
LICENSE | ||
melos_belatuk_range_header.iml | ||
pubspec.yaml | ||
README.md |
Belatuk Range Header
Replacement of package:range_header
with breaking changes to support NNBD.
Range header parser for belatuk. Can be used by any dart backend.
Installation
In your pubspec.yaml
:
dependencies:
belatuk_range_header: ^8.0.0
Usage
handleRequest(HttpRequest request) async {
// Parse the header
var header = RangeHeader.parse(request.headers.value(HttpHeaders.rangeHeader));
// Optimize/canonicalize it
var items = RangeHeader.foldItems(header.items);
header = RangeHeader(items);
// Get info
header.items;
header.rangeUnit;
print(header.items[0].toContentRange(fileSize));
// Serve the file
var transformer = RangeHeaderTransformer(header);
await file.openRead().transform(transformer).pipe(request.response);
}