pub struct Client { /* private fields */ }
Expand description
API Client
Implementations§
Source§impl Client
impl Client
Sourcepub fn builder(api_url: &str) -> Builder
pub fn builder(api_url: &str) -> Builder
Get a Builder
instance to further customize the API Client
.
The API URL should be the absolute path to api.php.
Sourcepub async fn new(api_url: &str) -> Result<Self>
pub async fn new(api_url: &str) -> Result<Self>
Get an API Client
instance. The API URL should be the absolute
path to api.php.
Sourcepub async fn get_value<P: Into<Params>>(&self, params: P) -> Result<Value>
pub async fn get_value<P: Into<Params>>(&self, params: P) -> Result<Value>
Same as Client::get()
, but return a serde_json::Value
Sourcepub async fn get<P: Into<Params>, T: DeserializeOwned>(
&self,
params: P,
) -> Result<T>
pub async fn get<P: Into<Params>, T: DeserializeOwned>( &self, params: P, ) -> Result<T>
Make an arbitrary API request using HTTP GET.
Sourcepub async fn post_with_token<P: Into<Params>, T: DeserializeOwned>(
&self,
token_type: &str,
params: P,
) -> Result<T>
pub async fn post_with_token<P: Into<Params>, T: DeserializeOwned>( &self, token_type: &str, params: P, ) -> Result<T>
Make an API POST request with a CSRF token. The correct token will automatically be fetched, and in case of a bad token error (if it expired), a new one will automatically be fetched and the request retried.
Sourcepub async fn post<P: Into<Params>, T: DeserializeOwned>(
&self,
params: P,
) -> Result<T>
pub async fn post<P: Into<Params>, T: DeserializeOwned>( &self, params: P, ) -> Result<T>
Make an API POST request
Sourcepub async fn post_value<P: Into<Params>>(&self, params: P) -> Result<Value>
pub async fn post_value<P: Into<Params>>(&self, params: P) -> Result<Value>
Same as Client::post()
, but return a serde_json::Value
Sourcepub async fn upload<P: Into<Params>>(
&self,
filename: &str,
path: PathBuf,
chunk_size: usize,
ignore_warnings: bool,
params: P,
) -> Result<String>
Available on crate feature upload
only.
pub async fn upload<P: Into<Params>>( &self, filename: &str, path: PathBuf, chunk_size: usize, ignore_warnings: bool, params: P, ) -> Result<String>
upload
only.Upload a file under with the given filename from a path.
- The
chunk_size
should be in bytes, 5MB (5_000_000
) is a reasonable default if you’re unsure. - Warnings will be returned as an error unless
ignore_warnings
is true. - Any extra parameters can be passed in the standard format.
Sourcepub fn http_client(&self) -> &HttpClient
pub fn http_client(&self) -> &HttpClient
Get access to the underlying [reqwest::Client
] to make arbitrary
GET/POST requests, sharing the connection pool and cookie storage.
For example, if you wanted to download images from the wiki.
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§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)