simple-server icon indicating copy to clipboard operation
simple-server copied to clipboard

Consider an `after_start` hook of some kind

Open steveklabnik opened this issue 8 years ago • 2 comments

We only have the log crate because we want to print out that the server is starting; we only print out the server is starting because there's no way to customize this kind of thing. The Node api we're emulating does, however.

It might look something like this:

#[macro_use]
extern crate log;
extern crate env_logger;

extern crate simple_server;

use simple_server::Server;

fn main() {
    env_logger::init().unwrap();

    let host = "127.0.0.1";
    let port = "7878";

    let server = Server::new(|request, mut response| {
        info!("Request received. {} {}", request.method(), request.uri());
        Ok(response.body("Hello Rust!".as_bytes())?)
    });

    server.listen(host, port, || {
        info!("Server started on {}:{}", host, port);
    });
}

Thoughts?

steveklabnik avatar Oct 16 '17 14:10 steveklabnik

haha when we made the original interface i had argued for this as its how the node works. i'm into it, obvi ;)

ashleygwilliams avatar Oct 16 '17 14:10 ashleygwilliams

Gonna punt this to a 0.5, but I do want to change this interface. There's enough in 0.4 that I'd rather keep the main interface the same for now!

steveklabnik avatar Mar 19 '18 14:03 steveklabnik