deribit_http/message/
builder.rs

1//! Message builder utilities for HTTP client
2
3use crate::message::{HttpRequestBuilder, HttpResponseHandler};
4use pretty_simple_display::{DebugPretty, DisplaySimple};
5use serde::{Deserialize, Serialize};
6
7/// Main message builder for HTTP operations
8#[derive(DebugPretty, DisplaySimple, Clone, Serialize, Deserialize)]
9pub struct HttpMessageBuilder {
10    request_builder: HttpRequestBuilder,
11    response_handler: HttpResponseHandler,
12}
13
14impl HttpMessageBuilder {
15    /// Create a new message builder
16    pub fn new(base_url: String) -> Self {
17        Self {
18            request_builder: HttpRequestBuilder::new(base_url),
19            response_handler: HttpResponseHandler::new(),
20        }
21    }
22
23    /// Get reference to request builder
24    pub fn request_builder(&self) -> &HttpRequestBuilder {
25        &self.request_builder
26    }
27
28    /// Get reference to response handler
29    pub fn response_handler(&self) -> &HttpResponseHandler {
30        &self.response_handler
31    }
32}