putStream method

Future<StreamedResponse> putStream(
  1. Stream<List<int>> localData,
  2. PathUri path, {
  3. required int contentLength,
  4. DateTime? lastModified,
  5. DateTime? created,
  6. String? checksum,
  7. void onProgress(
    1. double progress
    )?,
})

Puts a new file at path with localData as content.

contentLength sets the length of the localData that is uploaded. lastModified sets the date when the file was last modified on the server. created sets the date when the file was created on the server. checksum has to follow checksumPattern. It will not be validated by the server. onProgress can be used to watch the upload progress. Possible values range from 0.0 to 1.0.

See:

Implementation

Future<http.StreamedResponse> putStream(
  Stream<List<int>> localData,
  PathUri path, {
  required int contentLength,
  DateTime? lastModified,
  DateTime? created,
  String? checksum,
  void Function(double progress)? onProgress,
}) async {
  final request = putStream_Request(
    localData,
    path,
    lastModified: lastModified,
    created: created,
    checksum: checksum,
    contentLength: contentLength,
    onProgress: onProgress,
  );

  final streamedResponse = await httpClient.send(request);
  if (streamedResponse.statusCode != 201 && streamedResponse.statusCode != 204) {
    final response = await http.Response.fromStream(streamedResponse);
    throw DynamiteStatusCodeException(response);
  }

  return streamedResponse;
}