Skip to content

Commit 515daef

Browse files
committed
feat: add MonlibRequest module for handling API requests and refactor pull logic to use it
1 parent 9b93dc5 commit 515daef

File tree

3 files changed

+35
-13
lines changed

3 files changed

+35
-13
lines changed

src/monlib/mod.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
pub mod pull;
22
pub mod push;
3-
pub mod logout;
3+
pub mod logout;
4+
pub mod request;

src/monlib/pull.rs

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,11 @@ use std::{
1414
}
1515
};
1616

17-
use reqwest::Client;
18-
1917
use crate::{
2018
args_cli::Flags,
21-
configs::env::Env,
2219
cmd::monset::Monset,
2320
consts::addons::Addons,
21+
monlib::request::MonlibRequest,
2422
syntax::blocks::readme_block::ReadMeBlock,
2523

2624
ui::{
@@ -40,19 +38,12 @@ impl MonlibPull {
4038

4139
pub async fn pull(&self, run: &str, flags: &Flags) -> Result<String, Box<dyn Error>> {
4240
let mut url = Addons::MONLIB_API_REQUEST.to_owned();
43-
let api_key = Env.env_var(Addons::MONLIB_API_ENV);
4441

4542
url.push_str("packages/");
4643
url.push_str(&run);
4744
url.push_str("/raw");
48-
49-
let client = Client::builder().danger_accept_invalid_certs(true).build()?;
50-
let response = client
51-
.get(&url)
52-
.header("API-Key", api_key) // <--- Aqui está a correção
53-
.send()
54-
.await?;
55-
45+
46+
let response = MonlibRequest.request(url.as_str()).await?;
5647
if response.status().is_success() {
5748
let result = String::new();
5849
let mut is_json = true;

src/monlib/request.rs

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
extern crate reqwest;
2+
3+
use reqwest::{
4+
Client,
5+
Response
6+
};
7+
8+
use crate::{
9+
configs::env::Env,
10+
consts::addons::Addons,
11+
};
12+
13+
pub struct MonlibRequest;
14+
15+
impl MonlibRequest {
16+
17+
pub async fn request(&self, url: &str) -> Result<Response, reqwest::Error> {
18+
let api_key = Env.env_var(Addons::MONLIB_API_ENV);
19+
let client = Client::builder().danger_accept_invalid_certs(true).build().unwrap();
20+
21+
let response = client
22+
.get(url)
23+
.header("API-Key", api_key)
24+
.send()
25+
.await?;
26+
27+
Ok(response)
28+
}
29+
30+
}

0 commit comments

Comments
 (0)