-
Adrian Cybulski authored
- Object's ACL Query - Include object's ACL in stat
050e6ba5
minio.dart 29.06 KiB
import 'dart:convert';
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_poller.dart';
import 'package:minio/src/minio_sign.dart';
import 'package:minio/src/minio_uploader.dart';
import 'package:minio/src/utils.dart';
import 'package:xml/xml.dart' as xml;
import '../models.dart';
import '../models.dart';
import 'minio_helpers.dart';
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;