pub struct HttpCanServer { /* private fields */ }Expand description
HTTPCan server builder and runner
Implementations§
Source§impl HttpCanServer
impl HttpCanServer
Sourcepub fn new() -> Self
pub fn new() -> Self
Create a new HTTPCan server with default configuration
Examples found in repository?
examples/basic.rs (line 14)
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 with_config(config: ServerConfig) -> Self
pub fn with_config(config: ServerConfig) -> Self
Create a new HTTPCan server with custom configuration
Examples found in repository?
examples/basic.rs (line 34)
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 18)
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 19)
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 20)
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
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
Examples found in repository?
examples/basic.rs (line 21)
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 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
Sourcepub async fn run(self) -> Result<()>
pub async fn run(self) -> Result<()>
Start the HTTPCan server
Examples found in repository?
examples/basic.rs (line 37)
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 config(&self) -> &ServerConfig
pub fn config(&self) -> &ServerConfig
Get the server configuration
Trait Implementations§
Auto Trait Implementations§
impl Freeze for HttpCanServer
impl RefUnwindSafe for HttpCanServer
impl Send for HttpCanServer
impl Sync for HttpCanServer
impl Unpin for HttpCanServer
impl UnwindSafe for HttpCanServer
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