nanoserve 0.1.0

Ground-up implementation of a nano HTTP server from TCP sockets
Documentation
  • Coverage
  • 100%
    25 out of 25 items documented0 out of 4 items with examples
  • Size
  • Source code size: 43.4 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 4.58 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 44s Average build duration of successful builds.
  • all releases: 44s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • PRO-2684/nanoserve
    0 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • PRO-2684

nanoserve

GitHub License GitHub Workflow Status GitHub Release GitHub Downloads (all assets, all releases) Crates.io Version Crates.io Total Downloads docs.rs

[!NOTE] This is a toy project, primarily used as my handin for the course Computer Networks.

Nanoserve is a lightweight, educational HTTP/1.1 server implementation built using TCP sockets and modern Rust async I/O. It demonstrates HTTP protocol fundamentals, asynchronous networking, and systems programming best practices. This server supports core HTTP/1.1 features including GET requests, range requests (partial content), graceful shutdown, and efficient file serving.

📥 Installation

Using binstall

cargo binstall nanoserve

Downloading from Releases

Navigate to the Releases page and download respective binary for your platform. Make sure to give it execute permissions.

Compiling from Source

cargo install nanoserve

💡 Examples

TODO

📖 Usage

TODO

✅ TODO

  • Accept HEAD and OPTIONS, returning file metadata
  • Content-Length header

🎉 Credits

TODO