qiniu-upload-token 0.2.4

Qiniu Upload Policy Builder & Parser, Upload Token Generator & Parser for Rust
Documentation
use anyhow::Result;
use qiniu_credential::Credential;
use qiniu_upload_token::UploadPolicy;
use std::time::Duration;
use structopt::StructOpt;

#[derive(Debug, StructOpt)]
#[structopt(name = "generate-upload-token")]
struct Opt {
    /// Qiniu Access Key
    #[structopt(short, long)]
    access_key: String,
    /// Qiniu Secret Key
    #[structopt(short, long)]
    secret_key: String,
    /// Qiniu Bucket Name
    #[structopt(short, long)]
    bucket_name: String,
    /// Upload Token Lifetime
    #[structopt(short, long, default_value = "86400")]
    lifetime: u64,
}

fn main() -> Result<()> {
    let opt: Opt = Opt::from_args();

    let upload_token = UploadPolicy::new_for_bucket(&opt.bucket_name, Duration::from_secs(opt.lifetime))
        .build_token(Credential::new(opt.access_key, opt.secret_key), Default::default());
    println!("{upload_token}");
    Ok(())
}