Struct threema_gateway::ApiBuilder
source · pub struct ApiBuilder {
pub id: String,
pub secret: String,
pub private_key: Option<SecretKey>,
pub endpoint: Cow<'static, str>,
}
Expand description
A convenient way to set up the API object.
Examples
Simple API
use threema_gateway::{ApiBuilder, SimpleApi};
let gateway_id = "*3MAGWID";
let gateway_secret = "hihghrg98h00ghrg";
let api: SimpleApi = ApiBuilder::new(gateway_id, gateway_secret).into_simple();
E2E API
use threema_gateway::{ApiBuilder, E2eApi};
let gateway_id = "*3MAGWID";
let gateway_secret = "hihghrg98h00ghrg";
let private_key = "998730fbcac1c57dbb181139de41d12835b3fae6af6acdf6ce91670262e88453";
let api: E2eApi = ApiBuilder::new(gateway_id, gateway_secret)
.with_private_key_str(private_key)
.and_then(|builder| builder.into_e2e())
.unwrap();
Fields
id: String
secret: String
private_key: Option<SecretKey>
endpoint: Cow<'static, str>
Implementations
sourceimpl ApiBuilder
impl ApiBuilder
sourcepub fn new<I: Into<String>, S: Into<String>>(id: I, secret: S) -> Self
pub fn new<I: Into<String>, S: Into<String>>(id: I, secret: S) -> Self
Initialize the ApiBuilder with the Gateway ID and the Gateway Secret.
sourcepub fn with_custom_endpoint<E: Into<Cow<'static, str>>>(
self,
endpoint: E
) -> Self
pub fn with_custom_endpoint<E: Into<Cow<'static, str>>>(
self,
endpoint: E
) -> Self
Set a custom API endpoint.
The API endpoint should be a HTTPS URL without trailing slash.
sourcepub fn into_simple(self) -> SimpleApi
pub fn into_simple(self) -> SimpleApi
Return a SimpleAPI
instance.
sourcepub fn with_private_key(self, private_key: SecretKey) -> Self
pub fn with_private_key(self, private_key: SecretKey) -> Self
Set the private key. Only needed for E2e mode.
sourcepub fn with_private_key_bytes(
self,
private_key: &[u8]
) -> Result<Self, ApiBuilderError>
pub fn with_private_key_bytes(
self,
private_key: &[u8]
) -> Result<Self, ApiBuilderError>
Set the private key from a byte slice. Only needed for E2e mode.
sourcepub fn with_private_key_str(
self,
private_key: &str
) -> Result<Self, ApiBuilderError>
pub fn with_private_key_str(
self,
private_key: &str
) -> Result<Self, ApiBuilderError>
Set the private key from a hex-encoded string reference. Only needed for E2e mode.
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for ApiBuilder
impl Send for ApiBuilder
impl Sync for ApiBuilder
impl Unpin for ApiBuilder
impl UnwindSafe for ApiBuilder
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more