#包管理器 #快速 #响应 #构建 #获取 #客户端 #缓存

quickfetch

一个用于快速创建包管理器的库!

4个版本 (2个破坏性更改)

0.3.0 2024年7月13日
0.2.0 2024年6月15日
0.1.1 2024年6月12日
0.1.0 2024年6月11日

#217 in 操作系统

Download history 287/week @ 2024-06-08 180/week @ 2024-06-15 2/week @ 2024-06-22 106/week @ 2024-07-13 1/week @ 2024-07-20 31/week @ 2024-07-27

每月下载 138

MIT 许可证

81KB
746

QuickFetch

一个快速获取的库...

由Mustafif Khan开发 | MoKa Reads 2024

⚠️ 进度中,尚未准备好用于生产

此库旨在处理Client(reqwest客户端,它将在Client池下处理所有操作)内的多个请求,缓存响应结果,并异步处理这些请求。

目标是成为处理本地包管理器开发的一站式解决方案,以便能够轻松地更新、获取和删除不同的响应来处理多个包。

使用方法

// examples/mufiz_pkg.rs
use std::path::PathBuf;

use quickfetch::package::SimplePackage;
use quickfetch::Fetcher;
use quickfetch::{pretty_env_logger, FetchMethod};

#[tokio::main]
async fn main() -> anyhow::Result<()> {
    pretty_env_logger::init();
    let config_path = "examples/watch.toml";

    let mut fetcher: Fetcher<SimplePackage> =
        Fetcher::new(config_path, quickfetch::package::Mode::Toml, "mufiz").await?;
    // To enable progress bar for fetching
    // fetcher.set_notify_method(quickfetch::NotifyMethod::ProgressBar);
    // Set the response method to BytesStream or Chunk for progress bars
    // fetcher.set_response_method(quickfetch::ResponseMethod::BytesStream);
    // Fetch the packages concurrently
    // fetcher.fetch(FetchMethod::Concurrent).await?;
    // Write the fetched packages to a directory
    // fetcher.write_all(PathBuf::from("pkgs")).await?;

    // To enable watching
    fetcher.watching().await;

    Ok(())
}

许可证

本项目采用MIT许可证 - 有关详细信息,请参阅LICENSE文件。

依赖项

~14–32MB
~461K SLoC