pub struct Client { /* private fields */ }http only.Expand description
HTTP client to get Parsoid HTML from MediaWiki’s Rest APIs
Note: This requires the http feature is enabled (it is by default).
Implementations§
Source§impl Client
impl Client
Sourcepub fn new(base_url: &str, user_agent: &str) -> Result<Self>
pub fn new(base_url: &str, user_agent: &str) -> Result<Self>
Create a new Client. base_url should either point to rest.php or
RESTBase API.
For wikis running MediaWiki 1.42 or newer (or Wikimedia projects),
it could be a core REST API like: https://wiki.example.org/w/rest.php
For wikis with Parsoid extension installed, it might be like:
https://wiki.example.org/w/rest.php/wiki.example.org/v3.
This kind of endpoint is not available
on WMF projects (except for Parsoid cluster).
For Wikimedia projects, it might also be a RESTBase API like:
https://en.wikipedia.org/api/rest_v1.
The RESTBase endpoint has been deprecated and should be replaced with
MediaWiki REST API (the rest.php endpoint).
By default, the restbase feature is enabled.
If it is disabled, Client will always try to transform
RESTBase API URL to core REST API.
(Note: no trailing slash on either endpoint style.)
Sourcepub fn new_with_client(base_url: &str, http: HttpClient) -> Result<Self>
pub fn new_with_client(base_url: &str, http: HttpClient) -> Result<Self>
Create a new Client using an existing reqwest::Client. See the
documentation for Client::new() for what base_url should be. This is
primarily useful when you are already making calls to the wiki and
want to share connection pools and cookie state.
Sourcepub async fn get(&self, page: &str) -> Result<ImmutableWikicode>
pub async fn get(&self, page: &str) -> Result<ImmutableWikicode>
Get a Wikicode instance for the specified page
Sourcepub async fn get_revision(
&self,
page: &str,
revid: u64,
) -> Result<ImmutableWikicode>
pub async fn get_revision( &self, page: &str, revid: u64, ) -> Result<ImmutableWikicode>
Get a Wikicode instance for the specified page at the specified revision
Sourcepub async fn get_raw(&self, page: &str) -> Result<String>
pub async fn get_raw(&self, page: &str) -> Result<String>
Get the Parsoid HTML for the specified page
Sourcepub async fn get_revision_raw(&self, page: &str, revid: u64) -> Result<String>
pub async fn get_revision_raw(&self, page: &str, revid: u64) -> Result<String>
Get the Parsoid HTML for the specified page at the specified revision
Sourcepub async fn transform_to_html(
&self,
wikitext: &str,
) -> Result<ImmutableWikicode>
pub async fn transform_to_html( &self, wikitext: &str, ) -> Result<ImmutableWikicode>
Get a Wikicode instance for the specified wikitext
Sourcepub async fn transform_to_html_raw(&self, wikitext: &str) -> Result<String>
pub async fn transform_to_html_raw(&self, wikitext: &str) -> Result<String>
Get the Parsoid HTML for the specified wikitext
Sourcepub async fn transform_to_wikitext<C: APICode>(
&self,
code: &C,
) -> Result<String>
pub async fn transform_to_wikitext<C: APICode>( &self, code: &C, ) -> Result<String>
Get the wikitext for the specified Parsoid HTML