Skip to content
This repository has been archived by the owner on Nov 7, 2018. It is now read-only.

[DEPRECATED] Integrated into tsukuyomi

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

tsukuyomi-rs/tsukuyomi-server

Repository files navigation

tsukuyomi-server

crates.io Docs.rs Master Doc dependency status Build Status

A general purpose HTTP server based on Hyper and tower-service.

Usage

extern crate tsukuyomi_server;

use std::net::SocketAddr;

fn main() {
    let new_service = {
        use tsukuyomi_server::CritError;
        use tsukuyomi_server::service::Service;
        use tsukuyomi_server::service::http::{RequestBody, Body};
        use tsukuyomi_server::vendor::futures::{future, Poll, Async};
        use tsukuyomi_server::vendor::http::{Request, Response};

        struct Echo;
        impl Service for Echo {
            type Request = Request<RequestBody>;
            type Response = Response<Body>;
            type Error = CritError;
            type Future = future::FutureResult<Self::Response, Self::Error>;

            fn poll_ready(&mut self) -> Poll<(), Self::Error> {
                Ok(Async::Ready(()))
            }

            fn call(&mut self, _request: Self::Request) -> Self::Future {
                future::ok(
                    Response::builder()
                        .body("Hello".into())
                        .expect("should be a valid response")
                )
            }
        }

        || Ok::<_, CritError>(Echo)
    };

    tsukuyomi_server::server(new_service)
        .transport(SocketAddr::from(([127, 0, 0, 1], 4000)))
        .run_forever()
        .expect("failed to start the server");
}

License

MIT license or Apache License, Version 2.0 at your option.

About

[DEPRECATED] Integrated into tsukuyomi

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Packages

No packages published