belatuk_range_header 6.4.0 copy "belatuk_range_header: ^6.4.0" to clipboard
belatuk_range_header: ^6.4.0 copied to clipboard

Range header parser for Dart. Beyond parsing, a stream transformer is included.

example/main.dart

import 'dart:io';
import 'package:belatuk_range_header/belatuk_range_header.dart';

var file = File('some_video.mp4');

void 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;
  for (var item in header.items) {
    item.toContentRange(400);
  }

  // Serve the file
  var transformer =
      RangeHeaderTransformer(header, 'video/mp4', await file.length());
  await file
      .openRead()
      .cast<List<int>>()
      .transform(transformer)
      .pipe(request.response);
}
copied to clipboard
0
likes
160
points
268
downloads

Publisher

verified publisherdukefirehawk.com

Weekly Downloads

2024.09.13 - 2025.03.28

Range header parser for Dart. Beyond parsing, a stream transformer is included.

Repository (GitHub)

Documentation

API reference

License

BSD-3-Clause (license)

Dependencies

async, charcode, quiver, source_span, string_scanner

More

Packages that depend on belatuk_range_header