Struct ApiClient
pub struct ApiClient { /* private fields */ }
Expand description
API Client
Implementations§
§impl Client
impl Client
pub 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.
pub async fn new(api_url: &str) -> Result<Client, Error>
pub async fn new(api_url: &str) -> Result<Client, Error>
Get an API Client
instance. The API URL should be the absolute
path to api.php.
pub async fn get_value<P>(&self, params: P) -> Result<Value, Error>where
P: Into<Params>,
pub async fn get_value<P>(&self, params: P) -> Result<Value, Error>where
P: Into<Params>,
Same as Client::get()
, but return a serde_json::Value
pub async fn get<P, T>(&self, params: P) -> Result<T, Error>where
P: Into<Params>,
T: DeserializeOwned,
pub async fn get<P, T>(&self, params: P) -> Result<T, Error>where
P: Into<Params>,
T: DeserializeOwned,
Make an arbitrary API request using HTTP GET.
pub async fn post_with_token<P, T>(
&self,
token_type: &str,
params: P,
) -> Result<T, Error>where
P: Into<Params>,
T: DeserializeOwned,
pub async fn post_with_token<P, T>(
&self,
token_type: &str,
params: P,
) -> Result<T, Error>where
P: Into<Params>,
T: DeserializeOwned,
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.
pub async fn post<P, T>(&self, params: P) -> Result<T, Error>where
P: Into<Params>,
T: DeserializeOwned,
pub async fn post<P, T>(&self, params: P) -> Result<T, Error>where
P: Into<Params>,
T: DeserializeOwned,
Make an API POST request
pub async fn post_value<P>(&self, params: P) -> Result<Value, Error>where
P: Into<Params>,
pub async fn post_value<P>(&self, params: P) -> Result<Value, Error>where
P: Into<Params>,
Same as Client::post()
, but return a serde_json::Value
pub async fn upload<P>(
&self,
filename: &str,
path: PathBuf,
chunk_size: usize,
ignore_warnings: bool,
params: P,
) -> Result<String, Error>where
P: Into<Params>,
pub async fn upload<P>(
&self,
filename: &str,
path: PathBuf,
chunk_size: usize,
ignore_warnings: bool,
params: P,
) -> Result<String, Error>where
P: Into<Params>,
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.
pub fn http_client(&self) -> &Client
pub fn http_client(&self) -> &Client
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.