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
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
)