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.