Rustでhyperを使ってWebServerを立ち上げる

localhost:8080で立ち上げる例

use chrono::Local;
use hyper::rt::Future;
use hyper::service::service_fn_ok;

fn main() {
    let addr = ([127, 0, 0, 1], 8080).into();

    let new_svc = || {
        service_fn_ok(|request|{
            match (request.method(), request.uri().path()) {
                (&hyper::Method::GET, "/hello") => {
                    hyper::Response::builder()
                        .status(hyper::StatusCode::OK)
                        .body(hyper::Body::from(Local::now().to_string()))
                        .unwrap()
                },
                (_, _) => {
                    hyper::Response::builder()
                        .status(hyper::StatusCode::NOT_FOUND)
                        .body(hyper::Body::from("Not found"))
                        .unwrap()
                }
            }
        })
    };

    let server = hyper::Server::bind(&addr)
        .serve(new_svc)
        .map_err(|e| eprintln!("server error: {}", e));

    hyper::rt::run(server);
}

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA