game_manager_lib\utils/
http_client.rs

1//! Módulo utilitário para fornecer um cliente HTTP configurado.
2//!
3//! Utiliza `reqwest` para criar um cliente com timeout e headers padrão.
4
5use crate::constants::{HTTP_CONNECT_TIMEOUT_SECS, HTTP_REQUEST_TIMEOUT_SECS, USER_AGENT_DEFAULT};
6use reqwest::Client;
7use std::time::Duration;
8
9lazy_static::lazy_static! {
10    pub static ref HTTP_CLIENT: Client = create_client();
11}
12
13fn create_client() -> Client {
14    Client::builder()
15        .timeout(Duration::from_secs(HTTP_REQUEST_TIMEOUT_SECS))
16        .connect_timeout(Duration::from_secs(HTTP_CONNECT_TIMEOUT_SECS))
17        .user_agent(USER_AGENT_DEFAULT)
18        .build()
19        .expect("Failed to create HTTP client")
20}