ez_reqwest/
lib.rs

1use reqwest::Client;
2use std::collections::HashMap;
3
4pub async fn get_request(url: String, params: Option<HashMap<String, String>>) -> String {
5    let client = Client::builder()
6        .build()
7        .expect("Failed to build client");
8
9    let mut request = client.get(url);
10
11    if let Some(p) = params {
12        request = request.query(&p);
13    }
14
15    let res = request
16        .send()
17        .await
18        .expect("Failed to send request");
19
20    let text = res.text().await.unwrap();
21    return format!("{}", text);
22}
23
24pub async fn post_request(url: String, params: Option<HashMap<String, String>>) -> String {
25    let client = Client::builder()
26        .build()
27        .expect("Failed to build client");
28
29    let mut request = client.post(url);
30
31    if let Some(p) = params {
32        request = request.form(&p);
33    }
34
35    let res = request
36        .send()
37        .await
38        .expect("Failed to send request");
39
40    let text = res.text().await.unwrap();
41    return format!("{}", text);
42}
43
44#[cfg(test)]
45mod tests {
46    use super::*;
47
48    #[tokio::test]
49    async fn get_request_test() {
50        let result = get_request(
51            "https://puppet57.xyz/random-php/ez-request-test.php".to_string(),
52            None
53        ).await;
54        assert_eq!(result, "working".to_string());
55    }
56
57    #[tokio::test]
58    async fn post_request_test() {
59        let result = get_request(
60            "https://puppet57.xyz/random-php/ez-request-test.php".to_string(),
61            None
62        ).await;
63        assert_eq!(result, "working".to_string());
64    }
65}