index : static-web-server.git

ascending towards madness

author Jose Quintana <joseluisquintana20@gmail.com> 2021-01-09 23:50:56.0 +00:00:00
committer Jose Quintana <joseluisquintana20@gmail.com> 2021-01-09 23:50:56.0 +00:00:00
commit
ebd111d531e492b4e268f1ab76b8c0eec66a1cec [patch]
tree
8408048bb4294d051eac862172c3b66b3463bc1a
parent
63bf60d1c215f506bb1cec6df5e360fbfe450eee
download
ebd111d531e492b4e268f1ab76b8c0eec66a1cec.tar.gz

chore: htto get (+gzip) and head methods support



Diff

 src/bin/server.rs | 24 ++++++++++++------------
 1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/src/bin/server.rs b/src/bin/server.rs
index 616b326..fe7d872 100644
--- a/src/bin/server.rs
+++ b/src/bin/server.rs
@@ -16,22 +16,22 @@ use self::static_web_server::core::*;
async fn server(opts: config::Options) -> Result {
    logger::init(&opts.log_level)?;

    let public_head = warp::head().and(warp::fs::dir(opts.root.clone()));
    let public_get = warp::get().and(warp::fs::dir(opts.root));

    let routes = public_head.or(public_get.with(warp::compression::gzip()));
    let public_head = warp::head().and(
        warp::fs::dir(opts.root.clone())
            .with(warp::trace::request())
            .recover(rejection::handle_rejection),
    );
    let public_get = warp::get().and(
        warp::fs::dir(opts.root)
            .with(warp::trace::request())
            .with(warp::compression::gzip(true))
            .recover(rejection::handle_rejection),
    );

    let host = opts.host.parse::<std::net::IpAddr>()?;
    let port = opts.port;

    tokio::task::spawn(
        warp::serve(
            routes
                .with(warp::trace::request())
                .recover(rejection::handle_rejection),
        )
        .run((host, port)),
    );
    tokio::task::spawn(warp::serve(public_head.or(public_get)).run((host, port)));

    signals::wait(|sig: signals::Signal| {
        let code = signals::as_int(sig);