pub struct Server { /* private fields */ }Expand description
Simple server struct
Implementations§
source§impl Server
impl Server
sourcepub fn new(addr: &str) -> Self
pub fn new(addr: &str) -> Self
Create a new server instance.
The server will not start until the run method is called.
The addr parameter is a string in the format of host:port.
Example
See the basic example in examples/basic.
sourcepub fn set_buffer_size(&mut self, new_size: usize) -> &mut Self
pub fn set_buffer_size(&mut self, new_size: usize) -> &mut Self
Sest the buffer size. The buffer size is used to read incoming requests. The default buffer size is 8KB (8192 bytes).
sourcepub fn on_request(&mut self, handler: Handler) -> &mut Self
pub fn on_request(&mut self, handler: Handler) -> &mut Self
Set the handler function. This function will be called when a request is received. If no handler is set, the server will respond with a 503 Service Unavailable.
Example
use snowboard::Server;
let server = Server::new("localhost:8080")
.on_request(|request| {
println!("{:?}", request);
snowboard::response!(ok, "Hello, world!")
});
// server.run();sourcepub fn add_middleware(&mut self, handler: Middleware) -> &mut Self
pub fn add_middleware(&mut self, handler: Middleware) -> &mut Self
Add a middleware function. Middleware functions are called before the handler function. They can be used to modify the request or to return a response. If a response is returned, the handler function will not be called. If multiple middleware functions are added, they will be called in the order they were added.
Example
use snowboard::Server;
let mut server = Server::new("localhost:8080");
server.add_middleware(|mut request| {
request.set_header("X-Server", "Snowboard");
// Request, Response
(request, None)
});Example 2
use snowboard::Server;
let mut server = Server::new("localhost:8080");
server.add_middleware(|request| {
// Request, Response
(request, Some(snowboard::response!(ok, "Hello, world!")))
});