requestor 0.0.17
requestor: ^0.0.17 copied to clipboard
A Flutter package for making HTTP requests and downloading files efficiently.
example/lib/main.dart
import 'package:flutter/material.dart';
import 'dart:async';
import 'package:requestor/requestor.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatefulWidget {
const MyApp({super.key});
@override
State<MyApp> createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
final req = Requestor();
@override
void initState() {
req.setOrigin("https://apiv2.tfdev.click");
req.addInterceptor((p0) => p0);
super.initState();
}
Future<void> post() async {
String path = "/login";
print("exec");
final res = await req.post(
path, {"rut": "13730077-k", "password": "12345678", "tenant": "agF"});
print(res);
}
Future<void> get() async {
String url = "/comments";
await req.get(url, headers: {"token": "Bearer 241234u52o3456o452u"});
}
Future<void> downloadFiles() async {
List<DownloadItem> urls = [
DownloadItem(
url:
"https://trainfes-storage-agf.s3.amazonaws.com/1655609972209_carbon+(2).png",
overwrite: false),
DownloadItem(
url:
"https://trainfes-storage-agf.s3.amazonaws.com/1655610320874_carbon+(2).png",
overwrite: false),
DownloadItem(
url:
"https://trainfes-storage-agf.s3.amazonaws.com/videos/1666871202472_Video+motivacional+de+15+segundos.mp4",
overwrite: false),
DownloadItem(
url:
"https://trainfes-storage-agf.s3.amazonaws.com/videos/1668524551151_WhatsApp+Video+2022-11-11+at+1.54.22+AM.mp4",
overwrite: false),
];
final a = await req.downloadFiles(
urls,
threads: 2,
onDownload: (p0) {
print(p0);
},
onProgress: (p0) {
print(p0);
},
);
print(a);
}
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text('Requestor example app'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisSize: MainAxisSize.max,
children: [
ElevatedButton(
onPressed: get,
child: const Text("GET"),
),
const SizedBox(height: 10),
ElevatedButton(
onPressed: downloadFiles,
child: const Text("DOWNLOAD FILES"),
),
const SizedBox(height: 10),
ElevatedButton(
onPressed: post,
child: const Text("POST"),
),
],
),
),
),
);
}
}