streamToResponse method

Future<void> streamToResponse(
  1. HttpRequest request, {
  2. bool handleRange = true,
})

Stream this file back to an HTTP response with proper headers

Implementation

Future<void> streamToResponse(HttpRequest request, {bool handleRange = true}) async {
  final totalLength = await length;
  final bytes = await _cachedBytes;

  // Check for range requests (important for media playback)
  final rangeHeader = request.headers[HttpHeaders.rangeHeader];

  if (handleRange && rangeHeader != null && rangeHeader.isNotEmpty) {
    await _handleRangeRequest(request, bytes, totalLength, rangeHeader.first);
  } else {
    await _sendFullFile(request, bytes, totalLength);
  }
}