1 stable release

2021.918.1640 Sep 18, 2021
2021.910.1336 Sep 15, 2021

#304 in #com


Used in cargo_crev_reviews

MIT license

36KB
520 lines

dev_bestia_simple_server

simple server from https://github.com/steveklabnik/simple-server
repository; version: 2021.918.1640 date: 2021-09-18 authors: Luciano Bestia

Lines in Rust code Lines in Doc comments Lines in Comments Lines in examples Lines in tests

I want the simplest web server ever. It will be used exclusively locally from one super simple web-application, so don't need to care much about security. I choose simple server from the rust book. I don't care about multi-threading or async , because it will be used by only one browser. The example from the book evolved into the github repository of the author of the book github.com/steveklabnik.
I cloned it, updated the dependencies and consequently fixed some broken code.
I had to publish it to crates.io because the project cargo_crev_reviews use it. Crates.io does not accept local path dependencies, only crates.io dependencies.

A simple web-server

The simple-server crate is designed to give you the tools to to build an HTTP server, based around the http crate, blocking I/O, and a threadpool.

We call it 'simple' want to keep the code small, and easy to understand. This is why we're only using blocking I/O. Depending on your needs, you may or may not want to choose another server. However, just the simple stuff is often enough for many projects.

Examples

At its core, simple-server contains a Server. The Server is passed a handler upon creation, and the listen method is used to start handling connections.

The other types are from the http crate, and give you the ability to work with various aspects of HTTP. The Request, Response, and ResponseBuilder types are used by the handler you give to Server, for example.

To see examples of this crate in use, please consult the examples directory.

Dependencies

~1.5MB
~29K SLoC