Crate klaus [] [src]

HTTP/1.1: This crate is a full multithreaded Async I/O HTTPd Server that support multipart uploads, Pipelining and more. It can be used to implement your own HTTP server that allows for Rust Lambda like handlers.

It can be used "out of the box" as a drop in replacement for a typical Web Server that handles static content or Single Page Applications like Angular and ReactJS.

There are many additional features being added including the following: 1. TLS 2. HTTP/2 with Multiplexing 3. Web Socket protocol upgrading 4. Well defined configuration system - [Done] 5. More enhanced logging - [Done] 6. Builtin AWS/Ceph S3 interfaces - [Plumbing done] 7. gRPC/Protobuf

Roadmap - The longer term goal is to create an application base that can also act as agent with the ability to move to different machines and reconfigure itself for a given role as needed.

Base Path - The default of this public which means to look for a sub-directory called public under the directory where this application is located. Please change this passed in CLI value of -f to something like /var/www/html or change it in the config file.

Naming paths - Never end a path with '/' but you can begin one with it. For example, do not use this: /home/me/server/ but you can use something like this: /home/me/server. If '/' is required at the end then the server will add it for you.