imgbb 1.2.0

ImgBB API wrapper for Rust
Documentation
# imgbb-rs

[ImgBB](https://imgbb.com/) API wrapper for rust

## Getting Started

1. [Register/Log in to ImbBB]https://imgbb.com/login
2. [Obtain the API Key]https://api.imgbb.com
3. Use the API Key in with the library

## Usage

### Straightforward

```rust
use imgbb::ImgBB;
use tokio;

#[tokio::main]
async fn main() {
    let imgbb = ImgBB::new("<API KEY>");


    let res = match imgbb.upload_file_with_expiration("<PATH>", <SECONDS>).await {
        Ok(res) => res,
        Err(err) => {
            println!("{}", err);
            return;
        }
    };

    println!("{:#?}", res);
}
```

### With uploader

```rust
use imgbb::ImgBB;
use tokio;

#[tokio::main]
async fn main() {

    let imgbb = ImgBB::new("<API KEY>");

    let ul = imgbb
        .read_file("<PATH>").expect("Unable to read file")
        .expiration(<SECONDS>);

    let res = match ul.upload().await {
        Ok(res) => res,
        Err(err) => {
            println!("{}", err);
            return;
        }
    };

    println!("{:#?}", res);
}
```

## Supported data types

- File & Path

```rust
    imgbb.read_file("PATH").expect("Unable to read file").upload().await
    // or
    imgbb.upload_file("PATH").await
```

- Bytes (`AsRef<u8>`)

```rust
    imgbb.read_bytes(&[u8]).upload().await
    // or
    imgbb.upload_bytes(&[u8]).await
```

- Base64 String

```rust
    imgbb.read_base64("BASE64").upload().await
    // or
    imgbb.upload_base64("BASE64").await
```

## License

imgbb-rs is licensed under the [GNU GPL v3.0](./LICENSE)