Dart wrappers for known media services on internet

⚠️ Not all error catched (yet), please open an issue or PR, if any error exist

Services available

- Doodstream

void main() async {
  final key = Platform.environment['DOODSTREAM_API_KEY']!;
  final doodstreamClient = DoodstreamApi(key);
  final getAccount = await doodstreamClient.accountInfo();
  print(getAccount?.toJson());
}

- Streamtape

void main() async {
  final user = Platform.environment['STREAMTAPE_USER']!;
  final key = Platform.environment['STREAMTAPE_KEY']!;
  final streamtapeClient = StreamtapeApi(user, key);
  final getAccount = await streamtapeClient.accountInfo();
  print(getAccount?.toJson());
}

- Mixdrop

void main() async {
  final user = Platform.environment['MIXDROP_EMAIL']!;
  final key = Platform.environment['MIXDROP_KEY']!;
  final mixdropClient = MixdropApi(user, key);
  final listFolder = await mixdropClient.folderList();
  print(listFolder?.toJson());
}

- Gofile

void main() async {
  final token = Platform.environment['GOFILE_TOKEN']!;
  final gofileClient = GofileApi(token);
  final getAccount = await gofileClient.accountInfo();
  print(getAccount?.toJson());
}

Listening to Upload/Download progress

  • To listen for upload/download task, just add code below to your app
transferProgress.stream.listen((e) => print(e));
  • You can also filter specific upload/download task
import 'dart:io';
import 'package:dart_api_collection/dart_api_collection.dart';

void main() async {
ApiConfig.logConfig
  ..enableLog = true
  ..showResponseHeader = false; // Add log for easy debuging
final file = File('video.mp4');
final id = await file.id; // Extension on dart:io File, exported by this package

/// Filter by file ID
transferProgress.stream.where((event) => event.id == id).listen((e) => print(e));
final gofileClient = GofileApi(); // Gofile provide free upload without API key

final result = await gofileClient.uploadFile(file);
print(result?.toJson());
}

Get raw JSON String as result instead of prebuild model

void main()async{
ApiConfig.logConfig
  ..enableLog = true
  ..showResponseHeader = false;
final key = Platform.environment['DOODSTREAM_API_KEY']!;
final doodstreamClient = DoodstreamApi(key);
final getAccount = await doodstreamClient.rawApi.accountInfo(); // Using rawApi directive
print(getAccount); // Print a JSON string
}

- TODO List:

Libraries

api_collection