completePartUpload method

HttpRequest completePartUpload(
  1. String bucketName,
  2. String fileKey,
  3. String uploadId,
  4. List<String> etags,
)

Implementation

HttpRequest completePartUpload(
    String bucketName, String fileKey, String uploadId, List<String> etags) {
  final url = "https://${bucketName}.${this.endpoint}/${fileKey}";
  final params = <String, dynamic>{"uploadId": uploadId};
  final builder = XmlBuilder();
  builder.element("CompleteMultipartUpload", nest: () {
    for (var i = 0; i < etags.length; i++) {
      builder.element("Part", nest: () {
        builder.element("PartNumber", nest: () {
          builder.text("${i + 1}");
        });
        builder.element("ETag", nest: () {
          builder.text("${etags[i]}");
        });
      });
    }
  });
  HttpRequest req = HttpRequest(url, 'POST', params, <String, String>{});
  final xml_request = builder.buildDocument().toXmlString();
  print("XML Request:$xml_request");
  req.fileData = utf8.encode(xml_request);
  this._auth!.signRequest(req, bucketName, fileKey);
  return req;
}