An error occurred while loading the file. Please try again.
-
xuty authored426f1ca8
minio.dart 31.69 KiB
import 'dart:async';
import 'dart:convert';
import 'dart:typed_data';
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_poller.dart';
import 'package:minio/src/minio_sign.dart';
import 'package:minio/src/minio_stream.dart';
import 'package:minio/src/minio_uploader.dart';
import 'package:minio/src/utils.dart';
import 'package:xml/xml.dart' as xml;
import 'package:xml/xml.dart' show XmlElement;
import '../models.dart';
import 'minio_helpers.dart';
class Minio {
/// Initializes a new client object.
Minio({
required this.endPoint,
required this.accessKey,
required this.secretKey,
int? port,
this.useSSL = true,
this.sessionToken,
this.region,
this.enableTrace = false,
}) : port = port ?? implyPort(useSSL) {
if (!isValidEndpoint(endPoint)) {
throw MinioInvalidEndpointError(
'End point $endPoint is not a valid domain or ip address',
);
}
if (!isValidPort(this.port)) {
throw MinioInvalidPortError(
'Invalid port number ${this.port}',
);
}
_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.
///
/// For example:
/// - play.min.io
/// - 1.2.3.4
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;