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}