write method

  1. @override
Future<void> write(
  1. String key,
  2. Uint8List bytes, [
  3. WriteOptions options = const WriteOptions()
])
override

Write bytes. Convenience wrapper over writeStream.

Implementation

@override
Future<void> write(
  String key,
  Uint8List bytes, [
  WriteOptions options = const WriteOptions(),
]) async {
  checkNotDisposed();
  final shouldEncrypt = options.encrypt ?? encryptByDefault;

  if (!shouldEncrypt) {
    return _inner.write(key, bytes, options);
  }

  final encKey = await _resolveKey(key, options);
  final encrypted = await _encryptor.encryptBytes(bytes, encKey);

  final encOptions = WriteOptions(
    contentType: options.contentType,
    metadata: {
      ...options.metadata,
      _metaEncrypted: 'true',
      _metaOriginalSize: bytes.length.toString(),
    },
  );
  return _inner.write(key, encrypted, encOptions);
}