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 操作系统
每月下载 138
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