Skip to main content

teapot/
teapot.rs

1#[cfg(feature = "server")]
2fn main() {
3    use ehttpd::Server;
4    use ehttpd::http::Response;
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    let Err(e) = server.accept("[::]:9999");
21    panic!("Server failed: {e}");
22}
23
24#[cfg(not(feature = "server"))]
25fn main() {
26    panic!("The `server`-feature must be enabled for this example to run")
27}