pub struct ImgurClient {
pub client_id: String,
pub client: Client,
}Expand description
Imgur Client
Fields§
§client_id: StringImgur API Client ID
client: ClientHTTP Client
Implementations§
Source§impl ImgurClient
impl ImgurClient
Sourcepub fn new(client_id: &str) -> Self
pub fn new(client_id: &str) -> Self
Create a new Imgur Client
use imgurs::ImgurClient;
let client = ImgurClient::new("3e3ce0d7ac14d56");Sourcepub fn with_http_client(client_id: &str, http_client: Client) -> Self
pub fn with_http_client(client_id: &str, http_client: Client) -> Self
Create a new Imgur Client with the provided reqwest::Client
This allows for customization of the http client settings like timeout or the user agent.
use imgurs::ImgurClient;
use reqwest::Client;
let http_client = Client::builder().build().unwrap();
let client = ImgurClient::with_http_client("3e3ce0d7ac14d56", http_client);Sourcepub async fn upload_image(&self, path: &str) -> Result<ImageInfo>
pub async fn upload_image(&self, path: &str) -> Result<ImageInfo>
Upload image to Imgur
use imgurs::ImgurClient;
#[tokio::main]
async fn main() {
let client = ImgurClient::new("3e3ce0d7ac14d56");
client
.upload_image("https://i.imgur.com/lFaGr1x.png")
.await
.expect("upload image");
}Sourcepub async fn delete_image(&self, delete_hash: &str) -> Result<()>
pub async fn delete_image(&self, delete_hash: &str) -> Result<()>
Delete image from Imgur
use imgurs::ImgurClient;
#[tokio::main]
async fn main() {
let client = ImgurClient::new("3e3ce0d7ac14d56");
let image = client
.upload_image("https://i.imgur.com/lFaGr1x.png")
.await
.expect("upload image");
let deletehash = image.data.deletehash.unwrap();
client
.delete_image(&deletehash)
.await
.expect("delete image");
}Sourcepub async fn rate_limit(&self) -> Result<RateLimitInfo>
pub async fn rate_limit(&self) -> Result<RateLimitInfo>
Get Rame Limit of this Imgur Client
use imgurs::ImgurClient;
#[tokio::main]
async fn main() {
let client = ImgurClient::new("3e3ce0d7ac14d56");
client.rate_limit().await.expect("get rate limit");
}Sourcepub async fn image_info(&self, id: &str) -> Result<ImageInfo>
pub async fn image_info(&self, id: &str) -> Result<ImageInfo>
Get image info from a Imgur
use imgurs::ImgurClient;
#[tokio::main]
async fn main() {
let client = ImgurClient::new("3e3ce0d7ac14d56");
client.image_info("lFaGr1x").await.expect("delete image");
}Sourcepub async fn album_info(&self, id: &str) -> Result<AlbumInfo>
pub async fn album_info(&self, id: &str) -> Result<AlbumInfo>
Get album info from a Imgur
use imgurs::ImgurClient;
#[tokio::main]
async fn main() {
let client = ImgurClient::new("3e3ce0d7ac14d56");
client.album_info("id").await.expect("get album info");
}Trait Implementations§
Source§impl Clone for ImgurClient
impl Clone for ImgurClient
Source§fn clone(&self) -> ImgurClient
fn clone(&self) -> ImgurClient
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for ImgurClient
impl !RefUnwindSafe for ImgurClient
impl Send for ImgurClient
impl Sync for ImgurClient
impl Unpin for ImgurClient
impl !UnwindSafe for ImgurClient
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more