pub struct Client { /* private fields */ }
Implementations
sourceimpl 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 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 query_response<T: ApiResponse<U> + DeserializeOwned, U, P: Into<Params>>(
&self,
extra: P
) -> Result<T>
pub async fn query_response<T: ApiResponse<U> + DeserializeOwned, U, P: Into<Params>>(
&self,
extra: P
) -> Result<T>
Easily execute a request based on a mwapi_responses
-generated struct.
Any extra custom parameters can be passed in to the function and were merged with the default request parameters.
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 post()
, but return a serde_json::Value
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.