evgeniy-r / rust-example-web

Simple web file browser written in Rust language

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Simple web file browser

About

It is a demo project for Chapter 20 of The Rust Programming Language book.

I made it before reading this chapter (and made small changes after), so it differs from one in the book:

  • it is much more functional;
  • it does not use Mutex, only channels.

Features

  • allows to recursively browse files and directories at the host (it automatically generates directory listing HTML-pages);
  • supports many MIMEs (via mime and mime_guess crates).
  • supports GET and HEAD HTTP-methods;
  • generates HTML for error pages (codes 400, 404, 500, 501, 505);
  • allows configuring via *.toml file (serde is used for parsing);
  • writes log to stdout.

Configuration and Using

The web server look for config.toml file in its working directory. There is an example configuration with comments in config-default.toml file in the repo. The web server will use defaults if the configuration file is missed.

Simply build an executable file (with cargo build --release), copy it where you want, provide a document root for browsing with config.toml (default is public in the web server working directory) and run the executable file.

About

Simple web file browser written in Rust language


Languages

Language:Rust 100.0%