Skip to main content

rust_nicepay/services/v2/
request_redirect.rs

1use crate::models::v2::regist_redirect_model::RegistRedirectV2Model;
2use crate::utils::config::Config;
3use reqwest::{Client, Error, Response};
4use std::future::Future;
5use std::pin::Pin;
6
7pub type MyFuture<T> = Pin<Box<dyn Future<Output = Result<T, Error>> + Send>>;
8
9pub struct RedirectV2Requester<'a> {
10    pub config: &'a Config,
11}
12
13impl<'a> RedirectV2Requester<'a> {
14    pub fn new(config: &'a Config) -> Self {
15        Self { config }
16    }
17
18    pub fn request_regist(&self, req_redirect: RegistRedirectV2Model) -> MyFuture<Response> {
19        let base_url = self.config.get_snap_api_base_url();
20        let url = format!("{}/redirect/v2/registration", base_url);
21
22        let client = Client::new();
23        let fut = async move {
24            let response = client.post(url).json(&req_redirect).send().await?;
25            Ok(response)
26        };
27
28        Box::pin(fut)
29    }
30}