pub struct Client { /* private fields */ }Expand description
The client used to make requests to the unkey api.
Implementations§
source§impl Client
impl Client
sourcepub fn with_url(key: &str, url: &str) -> Self
pub fn with_url(key: &str, url: &str) -> Self
Creates a new client with a different base url than the production unkey api url.
§Arguments
key: The root api key the client should send with requests.url: The base url to use, excluding trailing slash. i.e.http://localhost:3000.
§Returns
The new client.
§Example
let c = Client::with_url("unkey_ghj", "http://localhost:3000");sourcepub async fn verify_key(
&self,
req: VerifyKeyRequest,
) -> Result<VerifyKeyResponse, HttpError>
pub async fn verify_key( &self, req: VerifyKeyRequest, ) -> Result<VerifyKeyResponse, HttpError>
Verifies an existing api key.
§Arguments
req: The verify key request to send.
§Returns
A Result containing the response, or an error.
§Errors
The HttpError, if one occurred.
§Example
let c = Client::new("abc123");
let req = VerifyKeyRequest::new("test_KEYABC", "api_123123");
match c.verify_key(req).await {
Ok(res) => println!("{:?}", res),
Err(err) => println!("{:?}", err),
}sourcepub async fn create_key(
&self,
req: CreateKeyRequest,
) -> Result<CreateKeyResponse, HttpError>
pub async fn create_key( &self, req: CreateKeyRequest, ) -> Result<CreateKeyResponse, HttpError>
Creates a new api key.
§Arguments
req: The create key request to send.
§Returns
A Result containing the response, or an error.
§Errors
The HttpError, if one occurred.
§Example
let c = Client::new("abc123");
let req = CreateKeyRequest::new("api_CCC").set_remaining(100);
match c.create_key(req).await {
Ok(res) => println!("{:?}", res),
Err(err) => println!("{:?}", err),
}sourcepub async fn list_keys(
&self,
req: ListKeysRequest,
) -> Result<ListKeysResponse, HttpError>
pub async fn list_keys( &self, req: ListKeysRequest, ) -> Result<ListKeysResponse, HttpError>
Retrieves a paginated list of api keys.
§Arguments
req: The list keys request to send.
§Returns
A Result containing the response, or an error.
§Errors
The HttpError, if one occurred.
§Example
let c = Client::new("abc123");
let req = ListKeysRequest::new("api_id").set_limit(25);
match c.list_keys(req).await {
Ok(res) => println!("{:?}", res),
Err(err) => println!("{:?}", err),
}sourcepub async fn revoke_key(&self, req: RevokeKeyRequest) -> Result<(), HttpError>
pub async fn revoke_key(&self, req: RevokeKeyRequest) -> Result<(), HttpError>
Revokes an existing api key.
§Arguments
req: The revoke key request to send.
§Returns
A Result containing the response, or an error.
§Errors
The HttpError, if one occurred.
§Example
let c = Client::new("abc123");
let req = RevokeKeyRequest::new("test_123");
match c.revoke_key(req).await {
Ok(_) => println!("Success!"), // Nothing on success
Err(err) => println!("{:?}", err),
}sourcepub async fn get_api(
&self,
req: GetApiRequest,
) -> Result<GetApiResponse, HttpError>
pub async fn get_api( &self, req: GetApiRequest, ) -> Result<GetApiResponse, HttpError>
Retrieves information for the given api id.
§Arguments
req: The get api request to send.
§Returns
A Result containing the response, or an error.
§Errors
The HttpError, if one occurred.
§Example
let c = Client::new("abc123");
let req = GetApiRequest::new("api_id");
match c.get_api(req).await {
Ok(res) => println!("{:?}", res),
Err(err) => println!("{:?}", err),
}sourcepub async fn update_key(&self, req: UpdateKeyRequest) -> Result<(), HttpError>
pub async fn update_key(&self, req: UpdateKeyRequest) -> Result<(), HttpError>
Retrieves information for the given api id.
§Arguments
req: The get api request to send.
§Returns
A Result containing the response, or an error.
§Errors
The HttpError, if one occurred.
§Example
let c = Client::new("abc123");
let req = UpdateKeyRequest::new("api_id").set_remaining(Some(100));
match c.update_key(req).await {
Ok(res) => println!("{:?}", res),
Err(err) => println!("{:?}", err),
}sourcepub async fn get_key(&self, req: GetKeyRequest) -> Result<ApiKey, HttpError>
pub async fn get_key(&self, req: GetKeyRequest) -> Result<ApiKey, HttpError>
Retrieves information for the given api id.
§Arguments
req: The get key request to send.
§Returns
A Result containing the response, or an error.
§Errors
The HttpError, if one occurred.
§Example
let c = Client::new("abc123");
let req = GetKeyRequest::new("key_id");
match c.get_key(req).await {
Ok(res) => println!("{:?}", res),
Err(err) => println!("{:?}", err),
}sourcepub async fn update_remaining(
&self,
req: UpdateRemainingRequest,
) -> Result<UpdateRemainingResponse, HttpError>
pub async fn update_remaining( &self, req: UpdateRemainingRequest, ) -> Result<UpdateRemainingResponse, HttpError>
Update the remaining verifications for a key.
§Arguments
req: The update remaining request to send.
§Returns
A Result containing the response, or an error.
§Errors
The HttpError, if one occurred.
§Example
let c = Client::new("abc123");
let req = UpdateRemainingRequest::new("key_id", Some(100), UpdateOp::Set);
match c.update_remaining(req).await {
Ok(res) => println!("{:?}", res),
Err(err) => println!("{:?}", err),
}Trait Implementations§
Auto Trait Implementations§
impl Freeze for Client
impl !RefUnwindSafe for Client
impl Send for Client
impl Sync for Client
impl Unpin for Client
impl !UnwindSafe for Client
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit)