outbox_pattern_processor/
http_gateway.rs1use std::time::Duration;
2
3use crate::error::OutboxPatternProcessorError;
4use reqwest::Client;
5use reqwest_middleware::{ClientBuilder, ClientWithMiddleware};
6
7#[derive(Clone)]
8pub struct HttpGateway {
9 pub client: ClientWithMiddleware,
10}
11
12impl HttpGateway {
13 pub fn new(request_timeout: u64) -> Result<Self, OutboxPatternProcessorError> {
14 let client = ClientBuilder::new(
15 Client::builder()
16 .timeout(Duration::from_secs(request_timeout))
17 .build()
18 .map_err(|error| OutboxPatternProcessorError::new(&error.to_string(), "Failed to create http gateway client"))?,
19 )
20 .build();
21
22 Ok(Self { client })
23 }
24}