#s3 #tokio #http #https #ceph #server-api #web-server

app klaus

HTTP/1.1 (HTTP/2 soon) Server that is built on Tokio Project Pipeline. It supports Asyn I/O (Futures), Pipelining and multipart uploads. Hybrid solution that can be used as a Web Server, API Server, Agent, etc.

1 unstable release

Uses old Rust 2015

0.1.7 Jan 18, 2017

#1305 in HTTP server

Apache-2.0

630KB
830 lines

Contains (WOFF font, 120KB) docs/Heuristica-Italic.woff, (WOFF font, 90KB) docs/FiraSans-Medium.woff, (WOFF font, 92KB) docs/FiraSans-Regular.woff, (WOFF font, 56KB) docs/SourceCodePro-Regular.woff, (WOFF font, 56KB) docs/SourceCodePro-Semibold.woff, (WOFF font, 49KB) docs/SourceSerifPro-Bold.woff and 1 more.

Klaus

Powerful, fast and safe time saving server. API, Agent, HTTP(s), HTTP/2, RPC based server that can be used in any micro-services architecture.

Based on Futures (promises), Async I/O that provides a very simple interface for application (server) developers while abstracting away the complex multi-threaded Futures Async I/O layers.

(Currently) Install via Rust:

Setting up on OSX

git clone https://github.com/lambdastackio/httpd.git
# These two are referred from Cargo.toml as x = { path = "../x" }:
git clone https://github.com/lambdastackio/tokio-http2.git
git clone https://github.com/abonander/multipart.git
cd httpd
cargo update
cargo run help

Setting up on Linux (RHEL/CentOS/AWS AMI)

1. sudo yum groupinstall -y 'Development Tools'
2. sudo yum install -y git
3. sudo yum install -y openssl-devel
4. curl https://sh.rustup.rs -sSf | sh
5. source $HOME/.cargo/env
6. rustup update nightly
7. rustup default nightly

Then just git clone this repo, tokio-http2 and maybe multipart (this one may find a new version with no default hyper) Build tokio-http2 first and then this repo

Note: May need to cargo update first

Dependencies

~21–32MB
~484K SLoC