An error occurred while loading the file. Please try again.
-
xuty authoredb582db41
minio.dart 19.89 KiB
import 'package:http/http.dart';
import 'package:minio/models.dart';
import 'package:minio/src/minio_client.dart';
import 'package:minio/src/minio_errors.dart';
import 'package:minio/src/minio_helpers.dart';
import 'package:minio/src/minio_uploader.dart';
import 'package:minio/src/utils.dart';
import 'package:xml/xml.dart' as xml;
class Minio {
/// Initializes a new client object.
Minio({
this.endPoint,
this.port,
this.useSSL = true,
this.accessKey = '',
this.secretKey = '',
this.sessionToken,
this.region,
this.enableTrace = false,
}) : assert(isValidEndpoint(endPoint)),
assert(port == null || isValidPort(port)),
assert(useSSL != null),
assert(accessKey != null),
assert(secretKey != null) {
_client = MinioClient(this);
}
/// default part size for multipart uploads.
final partSize = 64 * 1024 * 1024;
/// maximum part size for multipart uploads.
final maximumPartSize = 5 * 1024 * 1024 * 1024;
/// maximum object size (5TB)
final maxObjectSize = 5 * 1024 * 1024 * 1024 * 1024;
/// endPoint is a host name or an IP address.
final String endPoint;
/// TCP/IP port number. This input is optional. Default value set to 80 for HTTP and 443 for HTTPs.
final int port;
/// If set to true, https is used instead of http. Default is true.
final bool useSSL;
/// accessKey is like user-id that uniquely identifies your account.
final String accessKey;
/// secretKey is the password to your account.
final String secretKey;
/// Set this value to provide x-amz-security-token (AWS S3 specific). (Optional)
final String sessionToken;
/// Set this value to override region cache. (Optional)
final String region;
/// Set this value to enable tracing. (Optional)
final bool enableTrace;
MinioClient _client;
final _regionMap = <String, String>{};
/// Checks if a bucket exists.
Future<bool> bucketExists(String bucket) async {
MinioInvalidBucketNameError.check(bucket);
try {
await _client.request(method: 'HEAD', bucket: bucket);
} on MinioS3Error catch (e) {