teapot/
teapot.rs

1#[cfg(feature = "server")]
2fn main() {
3    use ehttpd::Server;
4    use ehttpd::http::{Response, ResponseExt};
5
6    // Create a server that listens at [::]:9999 with up to 2048 worker threads under load if necessary
7    let server = Server::with_request_response(2048, |request| {
8        // Create the response body
9        let mut message = b"There are only teapots in ".to_vec();
10        message.extend_from_slice(&request.target);
11        message.extend_from_slice(b"\r\n");
12
13        // Send the response
14        let mut response = Response::new_status_reason(418, "I'm a teapot");
15        response.set_body_data(message);
16        response
17    });
18
19    // Handle incoming connections
20    server.accept("[::]:9999").expect("server failed");
21}
22
23#[cfg(not(feature = "server"))]
24fn main() {
25    panic!("The `server`-feature must be enabled for this example to run")
26}