requestor 0.0.24 copy "requestor: ^0.0.24" to clipboard
requestor: ^0.0.24 copied to clipboard

outdated

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> getTenants() async {
    final res = req.post("/getorgs", {"rut": "12498916-7"});
    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,
        wildcard: "1",
      ),
      DownloadItem(
        url:
            "https://trainfes-storage-agf.s3.amazonaws.com/1655610320874_carbon+(2).png",
        overwrite: false,
        wildcard: "2",
      ),
      DownloadItem(
        url:
            "https://trainfes-storage-agf.s3.amazonaws.com/videos/1666871202472_Video+motivacional+de+15+segundos.mp4",
        overwrite: false,
        wildcard: "3",
      ),
      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: 1,
      onDownload: (p0) {
        print("::::::::::::");
        print("ID -> ${p0.id}");
        print("STATUS: ${p0.status}(${p0.statusCode})");
        print("WILDCARD: ${p0.wildcard}");
        print("::::::::::::");
      },
      onProgress: (p0) {
        // print(p0);
      },
    );

    print(a.data);
  }

  @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"),
              ),
              const SizedBox(height: 10),
              ElevatedButton(
                onPressed: getTenants,
                child: const Text("GET TENANTS"),
              ),
            ],
          ),
        ),
      ),
    );
  }
}
0
likes
0
points
7
downloads

Publisher

unverified uploader

Weekly Downloads

A Flutter package for making HTTP requests and downloading files efficiently.

Homepage

License

unknown (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on requestor

Packages that implement requestor