rosu_v2/request/
wiki.rs

1use crate::{model::wiki::WikiPage, request::Request, routing::Route, Osu};
2
3/// Get a [`WikiPage`] or image data.
4#[must_use = "requests must be configured and executed"]
5pub struct GetWikiPage<'a> {
6    osu: &'a Osu,
7    locale: Box<str>,
8    page: Option<Box<str>>,
9}
10
11impl<'a> GetWikiPage<'a> {
12    pub(crate) fn new(osu: &'a Osu, locale: impl Into<String>) -> Self {
13        Self {
14            osu,
15            locale: Box::from(locale.into()),
16            page: None,
17        }
18    }
19
20    /// Specify the page
21    #[inline]
22    pub fn page(mut self, page: impl Into<String>) -> Self {
23        self.page = Some(Box::from(page.into()));
24
25        self
26    }
27}
28
29into_future! {
30    |self: GetWikiPage<'_>| -> WikiPage {
31        Request::new(Route::GetWikiPage {
32            locale: self.locale,
33            page: self.page,
34        })
35    }
36}