pub struct ServerConfig {
pub port: u16,
pub host: String,
pub add_current_server: bool,
pub exclude_headers: Vec<String>,
pub static_dir: Option<PathBuf>,
}Expand description
Configuration for the HTTPCan server
Fields§
§port: u16Port to bind the server to
host: StringHost address to bind to (default: “0.0.0.0”)
add_current_server: boolWhether to add current server to OpenAPI specification
exclude_headers: Vec<String>Headers to exclude from responses
static_dir: Option<PathBuf>Custom static files directory
Implementations§
Source§impl ServerConfig
impl ServerConfig
Sourcepub fn new() -> Self
pub fn new() -> Self
Create a new server configuration with default values
Examples found in repository?
examples/basic.rs (line 25)
6async fn main() -> Result<(), Box<dyn std::error::Error>> {
7 // Initialize logging
8 env_logger::init();
9
10 // Method 1: Using default configuration
11 println!("Starting HTTPCan server with default configuration...");
12
13 // Create server with default settings (port 8080, all features enabled)
14 let _server = HttpCanServer::new();
15
16 // Method 2: Using builder pattern
17 let server = HttpCanServer::new()
18 .port(3000)
19 .host("127.0.0.1")
20 .add_current_server(true)
21 .exclude_header("x-internal-header")
22 .exclude_header("x-debug-*");
23
24 // Method 3: Using ServerConfig
25 let config = ServerConfig::new()
26 .port(3000)
27 .host("127.0.0.1")
28 .add_current_server(true)
29 .exclude_headers(vec![
30 "x-internal-header".to_string(),
31 "x-debug-*".to_string(),
32 ]);
33
34 let _server_with_config = HttpCanServer::with_config(config);
35
36 // Start the server
37 server.run().await?;
38
39 Ok(())
40}Sourcepub fn port(self, port: u16) -> Self
pub fn port(self, port: u16) -> Self
Set the port for the server
Examples found in repository?
examples/basic.rs (line 26)
6async fn main() -> Result<(), Box<dyn std::error::Error>> {
7 // Initialize logging
8 env_logger::init();
9
10 // Method 1: Using default configuration
11 println!("Starting HTTPCan server with default configuration...");
12
13 // Create server with default settings (port 8080, all features enabled)
14 let _server = HttpCanServer::new();
15
16 // Method 2: Using builder pattern
17 let server = HttpCanServer::new()
18 .port(3000)
19 .host("127.0.0.1")
20 .add_current_server(true)
21 .exclude_header("x-internal-header")
22 .exclude_header("x-debug-*");
23
24 // Method 3: Using ServerConfig
25 let config = ServerConfig::new()
26 .port(3000)
27 .host("127.0.0.1")
28 .add_current_server(true)
29 .exclude_headers(vec![
30 "x-internal-header".to_string(),
31 "x-debug-*".to_string(),
32 ]);
33
34 let _server_with_config = HttpCanServer::with_config(config);
35
36 // Start the server
37 server.run().await?;
38
39 Ok(())
40}Sourcepub fn host<S: Into<String>>(self, host: S) -> Self
pub fn host<S: Into<String>>(self, host: S) -> Self
Set the host address for the server
Examples found in repository?
examples/basic.rs (line 27)
6async fn main() -> Result<(), Box<dyn std::error::Error>> {
7 // Initialize logging
8 env_logger::init();
9
10 // Method 1: Using default configuration
11 println!("Starting HTTPCan server with default configuration...");
12
13 // Create server with default settings (port 8080, all features enabled)
14 let _server = HttpCanServer::new();
15
16 // Method 2: Using builder pattern
17 let server = HttpCanServer::new()
18 .port(3000)
19 .host("127.0.0.1")
20 .add_current_server(true)
21 .exclude_header("x-internal-header")
22 .exclude_header("x-debug-*");
23
24 // Method 3: Using ServerConfig
25 let config = ServerConfig::new()
26 .port(3000)
27 .host("127.0.0.1")
28 .add_current_server(true)
29 .exclude_headers(vec![
30 "x-internal-header".to_string(),
31 "x-debug-*".to_string(),
32 ]);
33
34 let _server_with_config = HttpCanServer::with_config(config);
35
36 // Start the server
37 server.run().await?;
38
39 Ok(())
40}Sourcepub fn add_current_server(self, add: bool) -> Self
pub fn add_current_server(self, add: bool) -> Self
Enable or disable adding current server to OpenAPI specification
Examples found in repository?
examples/basic.rs (line 28)
6async fn main() -> Result<(), Box<dyn std::error::Error>> {
7 // Initialize logging
8 env_logger::init();
9
10 // Method 1: Using default configuration
11 println!("Starting HTTPCan server with default configuration...");
12
13 // Create server with default settings (port 8080, all features enabled)
14 let _server = HttpCanServer::new();
15
16 // Method 2: Using builder pattern
17 let server = HttpCanServer::new()
18 .port(3000)
19 .host("127.0.0.1")
20 .add_current_server(true)
21 .exclude_header("x-internal-header")
22 .exclude_header("x-debug-*");
23
24 // Method 3: Using ServerConfig
25 let config = ServerConfig::new()
26 .port(3000)
27 .host("127.0.0.1")
28 .add_current_server(true)
29 .exclude_headers(vec![
30 "x-internal-header".to_string(),
31 "x-debug-*".to_string(),
32 ]);
33
34 let _server_with_config = HttpCanServer::with_config(config);
35
36 // Start the server
37 server.run().await?;
38
39 Ok(())
40}Sourcepub fn exclude_headers(self, headers: Vec<String>) -> Self
pub fn exclude_headers(self, headers: Vec<String>) -> Self
Set headers to exclude from responses
Examples found in repository?
examples/basic.rs (lines 29-32)
6async fn main() -> Result<(), Box<dyn std::error::Error>> {
7 // Initialize logging
8 env_logger::init();
9
10 // Method 1: Using default configuration
11 println!("Starting HTTPCan server with default configuration...");
12
13 // Create server with default settings (port 8080, all features enabled)
14 let _server = HttpCanServer::new();
15
16 // Method 2: Using builder pattern
17 let server = HttpCanServer::new()
18 .port(3000)
19 .host("127.0.0.1")
20 .add_current_server(true)
21 .exclude_header("x-internal-header")
22 .exclude_header("x-debug-*");
23
24 // Method 3: Using ServerConfig
25 let config = ServerConfig::new()
26 .port(3000)
27 .host("127.0.0.1")
28 .add_current_server(true)
29 .exclude_headers(vec![
30 "x-internal-header".to_string(),
31 "x-debug-*".to_string(),
32 ]);
33
34 let _server_with_config = HttpCanServer::with_config(config);
35
36 // Start the server
37 server.run().await?;
38
39 Ok(())
40}Sourcepub fn exclude_header<S: Into<String>>(self, header: S) -> Self
pub fn exclude_header<S: Into<String>>(self, header: S) -> Self
Add a header to exclude from responses
Sourcepub fn static_dir<P: Into<PathBuf>>(self, dir: P) -> Self
pub fn static_dir<P: Into<PathBuf>>(self, dir: P) -> Self
Set custom static files directory
Trait Implementations§
Source§impl Clone for ServerConfig
impl Clone for ServerConfig
Source§fn clone(&self) -> ServerConfig
fn clone(&self) -> ServerConfig
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ServerConfig
impl Debug for ServerConfig
Auto Trait Implementations§
impl Freeze for ServerConfig
impl RefUnwindSafe for ServerConfig
impl Send for ServerConfig
impl Sync for ServerConfig
impl Unpin for ServerConfig
impl UnwindSafe for ServerConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more