From d319f18db94db5e534186a1d3345ca7a4547e9bb Mon Sep 17 00:00:00 2001
From: Darius Auding <Darius.auding@gmx.de>
Date: Tue, 9 May 2023 16:51:14 +0200
Subject: [PATCH] 1. Add SIGNIT graceful shutdown 1. Organize lib.rs in modules
 1. Setting up basic text-file server functionality 1. Adding some test files

---
 core/http/Cargo.lock       | 743 +++++++++++++++++++++++++++++++++++++
 core/http/Cargo.toml       |   2 +
 core/http/src/handlers.rs  |  34 ++
 core/http/src/lib.rs       |  71 +---
 core/http/src/routing.rs   |  63 +++-
 core/http/src/setup.rs     |  85 +++++
 core/http/src/threading.rs |   5 -
 core/http/src/utils/mod.rs |   0
 site/404.html              |  12 +
 site/Cargo.lock            | 743 +++++++++++++++++++++++++++++++++++++
 site/QLC-LS.jpg            | Bin 0 -> 51549 bytes
 site/hello.css             |   4 +
 site/hello.html            |   1 +
 site/src/main.rs           |   2 +-
 14 files changed, 1690 insertions(+), 75 deletions(-)
 create mode 100644 core/http/src/setup.rs
 create mode 100644 core/http/src/utils/mod.rs
 create mode 100644 site/404.html
 create mode 100644 site/QLC-LS.jpg
 create mode 100644 site/hello.css

diff --git a/core/http/Cargo.lock b/core/http/Cargo.lock
index 8490fd5..755ed5e 100644
--- a/core/http/Cargo.lock
+++ b/core/http/Cargo.lock
@@ -2,6 +2,749 @@
 # It is not intended for manual editing.
 version = 3
 
+[[package]]
+name = "autocfg"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+
+[[package]]
+name = "base64"
+version = "0.21.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a"
+
+[[package]]
+name = "bitflags"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+[[package]]
+name = "bumpalo"
+version = "3.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b1ce199063694f33ffb7dd4e0ee620741495c32833cde5aa08f02a0bf96f0c8"
+
+[[package]]
+name = "bytes"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
+
+[[package]]
+name = "cc"
+version = "1.0.79"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "core-foundation"
+version = "0.9.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146"
+dependencies = [
+ "core-foundation-sys",
+ "libc",
+]
+
+[[package]]
+name = "core-foundation-sys"
+version = "0.8.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
+
+[[package]]
+name = "ctrlc"
+version = "3.2.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbcf33c2a618cbe41ee43ae6e9f2e48368cd9f9db2896f10167d8d762679f639"
+dependencies = [
+ "nix",
+ "windows-sys 0.45.0",
+]
+
+[[package]]
+name = "getrandom"
+version = "0.2.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c85e1d9ab2eadba7e5040d4e09cbd6d072b76a557ad64e797c2cb9d4da21d7e4"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "wasi",
+]
+
 [[package]]
 name = "http"
 version = "0.1.0"
+dependencies = [
+ "ctrlc",
+ "quinn",
+]
+
+[[package]]
+name = "js-sys"
+version = "0.3.61"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730"
+dependencies = [
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "libc"
+version = "0.2.144"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b00cc1c228a6782d0f076e7b232802e0c5689d41bb5df366f2a6b6621cfdfe1"
+
+[[package]]
+name = "log"
+version = "0.4.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "mio"
+version = "0.8.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9"
+dependencies = [
+ "libc",
+ "log",
+ "wasi",
+ "windows-sys 0.45.0",
+]
+
+[[package]]
+name = "nix"
+version = "0.26.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1a"
+dependencies = [
+ "bitflags",
+ "cfg-if",
+ "libc",
+ "static_assertions",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.17.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3"
+
+[[package]]
+name = "openssl-probe"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
+
+[[package]]
+name = "pin-project-lite"
+version = "0.2.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116"
+
+[[package]]
+name = "ppv-lite86"
+version = "0.2.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.56"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b63bdb0cd06f1f4dedf69b254734f9b45af66e4a031e42a7480257d9898b435"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "quinn"
+version = "0.9.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "445cbfe2382fa023c4f2f3c7e1c95c03dcc1df2bf23cebcb2b13e1402c4394d1"
+dependencies = [
+ "bytes",
+ "pin-project-lite",
+ "quinn-proto",
+ "quinn-udp",
+ "rustc-hash",
+ "rustls",
+ "thiserror",
+ "tokio",
+ "tracing",
+ "webpki",
+]
+
+[[package]]
+name = "quinn-proto"
+version = "0.9.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "67c10f662eee9c94ddd7135043e544f3c82fa839a1e7b865911331961b53186c"
+dependencies = [
+ "bytes",
+ "rand",
+ "ring",
+ "rustc-hash",
+ "rustls",
+ "rustls-native-certs",
+ "slab",
+ "thiserror",
+ "tinyvec",
+ "tracing",
+ "webpki",
+]
+
+[[package]]
+name = "quinn-udp"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "641538578b21f5e5c8ea733b736895576d0fe329bb883b937db6f4d163dbaaf4"
+dependencies = [
+ "libc",
+ "quinn-proto",
+ "socket2",
+ "tracing",
+ "windows-sys 0.42.0",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.27"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f4f29d145265ec1c483c7c654450edde0bfe043d3938d6972630663356d9500"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "rand"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
+dependencies = [
+ "libc",
+ "rand_chacha",
+ "rand_core",
+]
+
+[[package]]
+name = "rand_chacha"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
+dependencies = [
+ "ppv-lite86",
+ "rand_core",
+]
+
+[[package]]
+name = "rand_core"
+version = "0.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
+dependencies = [
+ "getrandom",
+]
+
+[[package]]
+name = "ring"
+version = "0.16.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc"
+dependencies = [
+ "cc",
+ "libc",
+ "once_cell",
+ "spin",
+ "untrusted",
+ "web-sys",
+ "winapi",
+]
+
+[[package]]
+name = "rustc-hash"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
+
+[[package]]
+name = "rustls"
+version = "0.20.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fff78fc74d175294f4e83b28343315ffcfb114b156f0185e9741cb5570f50e2f"
+dependencies = [
+ "ring",
+ "sct",
+ "webpki",
+]
+
+[[package]]
+name = "rustls-native-certs"
+version = "0.6.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0167bac7a9f490495f3c33013e7722b53cb087ecbe082fb0c6387c96f634ea50"
+dependencies = [
+ "openssl-probe",
+ "rustls-pemfile",
+ "schannel",
+ "security-framework",
+]
+
+[[package]]
+name = "rustls-pemfile"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d194b56d58803a43635bdc398cd17e383d6f71f9182b9a192c127ca42494a59b"
+dependencies = [
+ "base64",
+]
+
+[[package]]
+name = "schannel"
+version = "0.1.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3"
+dependencies = [
+ "windows-sys 0.42.0",
+]
+
+[[package]]
+name = "sct"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4"
+dependencies = [
+ "ring",
+ "untrusted",
+]
+
+[[package]]
+name = "security-framework"
+version = "2.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a332be01508d814fed64bf28f798a146d73792121129962fdf335bb3c49a4254"
+dependencies = [
+ "bitflags",
+ "core-foundation",
+ "core-foundation-sys",
+ "libc",
+ "security-framework-sys",
+]
+
+[[package]]
+name = "security-framework-sys"
+version = "2.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "31c9bb296072e961fcbd8853511dd39c2d8be2deb1e17c6860b1d30732b323b4"
+dependencies = [
+ "core-foundation-sys",
+ "libc",
+]
+
+[[package]]
+name = "slab"
+version = "0.4.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "socket2"
+version = "0.4.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662"
+dependencies = [
+ "libc",
+ "winapi",
+]
+
+[[package]]
+name = "spin"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
+
+[[package]]
+name = "static_assertions"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
+
+[[package]]
+name = "syn"
+version = "1.0.109"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "syn"
+version = "2.0.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a34fcf3e8b60f57e6a14301a2e916d323af98b0ea63c599441eec8558660c822"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "thiserror"
+version = "1.0.40"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac"
+dependencies = [
+ "thiserror-impl",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "1.0.40"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.15",
+]
+
+[[package]]
+name = "tinyvec"
+version = "1.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
+dependencies = [
+ "tinyvec_macros",
+]
+
+[[package]]
+name = "tinyvec_macros"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
+
+[[package]]
+name = "tokio"
+version = "1.28.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c3c786bf8134e5a3a166db9b29ab8f48134739014a3eca7bc6bfa95d673b136f"
+dependencies = [
+ "autocfg",
+ "libc",
+ "mio",
+ "pin-project-lite",
+ "socket2",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "tracing"
+version = "0.1.37"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8"
+dependencies = [
+ "cfg-if",
+ "pin-project-lite",
+ "tracing-attributes",
+ "tracing-core",
+]
+
+[[package]]
+name = "tracing-attributes"
+version = "0.1.24"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0f57e3ca2a01450b1a921183a9c9cbfda207fd822cef4ccb00a65402cbba7a74"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.15",
+]
+
+[[package]]
+name = "tracing-core"
+version = "0.1.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a"
+dependencies = [
+ "once_cell",
+]
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4"
+
+[[package]]
+name = "untrusted"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a"
+
+[[package]]
+name = "wasi"
+version = "0.11.0+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
+
+[[package]]
+name = "wasm-bindgen"
+version = "0.2.84"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b"
+dependencies = [
+ "cfg-if",
+ "wasm-bindgen-macro",
+]
+
+[[package]]
+name = "wasm-bindgen-backend"
+version = "0.2.84"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9"
+dependencies = [
+ "bumpalo",
+ "log",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-macro"
+version = "0.2.84"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5"
+dependencies = [
+ "quote",
+ "wasm-bindgen-macro-support",
+]
+
+[[package]]
+name = "wasm-bindgen-macro-support"
+version = "0.2.84"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+ "wasm-bindgen-backend",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-shared"
+version = "0.2.84"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d"
+
+[[package]]
+name = "web-sys"
+version = "0.3.61"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97"
+dependencies = [
+ "js-sys",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "webpki"
+version = "0.22.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd"
+dependencies = [
+ "ring",
+ "untrusted",
+]
+
+[[package]]
+name = "winapi"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
+dependencies = [
+ "winapi-i686-pc-windows-gnu",
+ "winapi-x86_64-pc-windows-gnu",
+]
+
+[[package]]
+name = "winapi-i686-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+
+[[package]]
+name = "winapi-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+
+[[package]]
+name = "windows-sys"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
+dependencies = [
+ "windows_aarch64_gnullvm 0.42.2",
+ "windows_aarch64_msvc 0.42.2",
+ "windows_i686_gnu 0.42.2",
+ "windows_i686_msvc 0.42.2",
+ "windows_x86_64_gnu 0.42.2",
+ "windows_x86_64_gnullvm 0.42.2",
+ "windows_x86_64_msvc 0.42.2",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.45.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
+dependencies = [
+ "windows-targets 0.42.2",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
+dependencies = [
+ "windows-targets 0.48.0",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071"
+dependencies = [
+ "windows_aarch64_gnullvm 0.42.2",
+ "windows_aarch64_msvc 0.42.2",
+ "windows_i686_gnu 0.42.2",
+ "windows_i686_msvc 0.42.2",
+ "windows_x86_64_gnu 0.42.2",
+ "windows_x86_64_gnullvm 0.42.2",
+ "windows_x86_64_msvc 0.42.2",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5"
+dependencies = [
+ "windows_aarch64_gnullvm 0.48.0",
+ "windows_aarch64_msvc 0.48.0",
+ "windows_i686_gnu 0.48.0",
+ "windows_i686_msvc 0.48.0",
+ "windows_x86_64_gnu 0.48.0",
+ "windows_x86_64_gnullvm 0.48.0",
+ "windows_x86_64_msvc 0.48.0",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
diff --git a/core/http/Cargo.toml b/core/http/Cargo.toml
index 8b1c9f1..34a4506 100644
--- a/core/http/Cargo.toml
+++ b/core/http/Cargo.toml
@@ -6,3 +6,5 @@ edition = "2021"
 # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
 
 [dependencies]
+quinn = "0.9.3"
+ctrlc = "3.2.5"
diff --git a/core/http/src/handlers.rs b/core/http/src/handlers.rs
index e69de29..944f60a 100644
--- a/core/http/src/handlers.rs
+++ b/core/http/src/handlers.rs
@@ -0,0 +1,34 @@
+use std::{
+    fs,
+    io::{BufRead, BufReader, Write},
+    net::TcpStream,
+};
+
+pub fn handle_connection(mut stream: TcpStream) {
+    let buf_reader = BufReader::new(&mut stream);
+    let http_request: Vec<_> = buf_reader
+        .lines()
+        .map(|result| result.unwrap())
+        .take_while(|line| !line.is_empty())
+        .collect();
+
+    let path_elements = http_request[0]
+        .split(" ")
+        .nth(1)
+        .unwrap()
+        .split("/")
+        .filter(|&val| val != ".." && val != "")
+        .collect::<Vec<&str>>();
+    let mut path = String::from("./");
+    path.push_str(&path_elements.join("/"));
+    println!("{:?}", path_elements);
+    println!("{:?}", path);
+
+    let status_line = "HTTP/1.1 200 OK";
+    let contents = fs::read_to_string(path).unwrap_or(fs::read_to_string("404.html").unwrap());
+    let length = contents.len();
+
+    let response = format!("{status_line}\r\nContent-Length: {length}\r\n\r\n{contents}");
+
+    stream.write_all(response.as_bytes()).unwrap();
+}
diff --git a/core/http/src/lib.rs b/core/http/src/lib.rs
index 1d8e24d..0b86db5 100644
--- a/core/http/src/lib.rs
+++ b/core/http/src/lib.rs
@@ -1,74 +1,11 @@
-use std::{
-    fs,
-    io::{BufRead, BufReader, Write},
-    net::{TcpListener, TcpStream},
-    thread::available_parallelism,
-};
-
-use threading::ThreadPool;
-
 mod handlers;
 mod routing;
+mod setup;
 mod threading;
 
-pub struct Config {
-    address: TcpListener,
-    workers: usize,
-    threadpool: ThreadPool,
-}
-
-impl Config {
-    pub fn mount(self, mountpoint: &str, routes: Vec<routing::Route>) {}
-    pub fn launch(self) {
-        for stream in self.address.incoming() {
-            let stream = stream.unwrap();
-            self.threadpool.execute(|| handle_connection(stream))
-        }
-    }
-}
-
-fn handle_connection(mut stream: TcpStream) {
-    let buf_reader = BufReader::new(&mut stream);
-    let http_request: Vec<_> = buf_reader
-        .lines()
-        .map(|result| result.unwrap())
-        .take_while(|line| !line.is_empty())
-        .collect();
-
-    let status_line = "HTTP/1.1 200 OK";
-    let contents = fs::read_to_string("hello.html").unwrap();
-    let length = contents.len();
-
-    let response = format!("{status_line}\r\nContent-Length: {length}\r\n\r\n{contents}");
-
-    stream.write_all(response.as_bytes()).unwrap();
-}
-
-pub fn build(ip: &str) -> Config {
-    let listener = TcpListener::bind(ip).unwrap();
-    let ip = ip.splitn(2, ":").collect::<Vec<&str>>();
-    if ip.len() != 2 {
-        panic!("Invalid IP Address");
-    }
-    let port = ip[1];
-    let ip = ip[0];
-    let workers = available_parallelism().unwrap().get();
-    let threadpool = ThreadPool::new(workers);
-    println!(
-        "\x1b[34mâš™ Configuration\x1b[0m
-  >> \x1b[34mIp\x1b[0m: {ip}
-  >> \x1b[34mPort\x1b[0m: {port}
-  >> \x1b[34mWorkers\x1b[0m: {workers}
-\n
-Server has launched from {ip}:{port}.
-"
-    );
-    Config {
-        address: listener,
-        workers,
-        threadpool,
-    }
-}
+mod utils;
 
 #[cfg(test)]
 mod tests {}
+
+pub use setup::build;
diff --git a/core/http/src/routing.rs b/core/http/src/routing.rs
index 6ae9a73..aee6f8a 100644
--- a/core/http/src/routing.rs
+++ b/core/http/src/routing.rs
@@ -1,2 +1,61 @@
-pub struct Route;
-pub struct RoutInfo;
+pub struct RoutInfo {
+    name: Option<&'static str>,
+    method: Method,
+    path: &'static str,
+    // handler: fn(Request) -> Outcome,
+    format: Option<Format>,
+    rank: Option<isize>,
+}
+
+pub struct Route {
+    name: Option<&'static str>,
+    method: Method,
+    // handler: fn(Request) -> Outcome,
+    uri: &'static str,
+    rank: isize,
+    format: Format,
+}
+
+impl Route {
+    pub fn from(routeinfo: RoutInfo) -> Self {
+        let rank = routeinfo.rank.unwrap_or(0);
+        let format = routeinfo.format.unwrap_or(Format::Plain);
+        Route {
+            name: routeinfo.name,
+            method: routeinfo.method,
+            // handler: routeinfo.handler,
+            uri: routeinfo.path,
+            rank,
+            format,
+        }
+    }
+}
+
+struct Request<'a> {
+    uri: &'a str,
+    headers: Vec<&'a str>,
+}
+
+enum Outcome<S, E, F> {
+    Success(S),
+    Failure(E),
+    Forward(F),
+}
+
+enum Method {
+    Get,
+    Head,
+    Post,
+    Put,
+    Delete,
+    Connect,
+    Options,
+    Trace,
+    Patch,
+}
+
+enum Format {
+    Json,
+    Plain,
+    Html,
+}
diff --git a/core/http/src/setup.rs b/core/http/src/setup.rs
new file mode 100644
index 0000000..b69bc0f
--- /dev/null
+++ b/core/http/src/setup.rs
@@ -0,0 +1,85 @@
+use std::{
+    net::TcpListener,
+    sync::{
+        atomic::{self, AtomicBool},
+        Arc,
+    },
+    thread::available_parallelism,
+};
+
+use crate::{handlers::handle_connection, routing::Route, threading::ThreadPool};
+
+pub struct PreMountConfig {
+    address: TcpListener,
+    workers: usize,
+    threadpool: ThreadPool,
+}
+impl PreMountConfig {
+    pub fn mount(self, mountpoint: &str, routes: Vec<Route>) -> Config {
+        Config {
+            mountpoint,
+            address: self.address,
+            workers: self.workers,
+            threadpool: self.threadpool,
+            routes,
+        }
+    }
+}
+pub struct Config<'a> {
+    mountpoint: &'a str,
+    address: TcpListener,
+    workers: usize,
+    threadpool: ThreadPool,
+    routes: Vec<Route>,
+}
+
+impl Config<'_> {
+    pub fn launch(self) {
+        let running = Arc::new(AtomicBool::new(true));
+
+        // Clone a reference to `running` to pass to the signal handler closure
+        let running_for_handler = running.clone();
+
+        // Set up a signal handler for SIGINT
+        ctrlc::set_handler(move || {
+            // When the user sends a SIGINT signal (e.g. by pressing CTRL+C),
+            // set the `running` flag to false to initiate a graceful shutdown
+            println!("SIGNIT received, shutting down gracefully");
+            running_for_handler.store(false, atomic::Ordering::SeqCst);
+        })
+        .expect("Error setting Ctrl-C handler");
+
+        for stream in self.address.incoming() {
+            if !running.load(atomic::Ordering::SeqCst) {
+                break;
+            }
+            let stream = stream.unwrap();
+            self.threadpool.execute(|| handle_connection(stream))
+        }
+    }
+}
+pub fn build(ip: &str) -> PreMountConfig {
+    let listener = TcpListener::bind(ip).unwrap();
+    let ip = ip.splitn(2, ":").collect::<Vec<&str>>();
+    if ip.len() != 2 {
+        panic!("Invalid IP Address");
+    }
+    let port = ip[1];
+    let ip = ip[0];
+    let workers = available_parallelism().unwrap().get();
+    let threadpool = ThreadPool::new(workers);
+    println!(
+        "\x1b[34mâš™ Configuration\x1b[0m
+  >> \x1b[34mIp\x1b[0m: {ip}
+  >> \x1b[34mPort\x1b[0m: {port}
+  >> \x1b[34mWorkers\x1b[0m: {workers}
+\n
+Server has launched from {ip}:{port}.
+"
+    );
+    PreMountConfig {
+        address: listener,
+        workers,
+        threadpool,
+    }
+}
diff --git a/core/http/src/threading.rs b/core/http/src/threading.rs
index b59bec8..e743853 100644
--- a/core/http/src/threading.rs
+++ b/core/http/src/threading.rs
@@ -51,8 +51,6 @@ impl Drop for ThreadPool {
         drop(self.sender.take());
 
         for worker in &mut self.workers {
-            println!("Shutting down worker {}", worker.id);
-
             if let Some(thread) = worker.thread.take() {
                 thread.join().unwrap();
             }
@@ -71,12 +69,9 @@ impl Worker {
 
             match message {
                 Ok(job) => {
-                    println!("Worker {id} got a job; executing.");
-
                     job();
                 }
                 Err(_) => {
-                    println!("Worker {id} disconnected; shutting down.");
                     break;
                 }
             }
diff --git a/core/http/src/utils/mod.rs b/core/http/src/utils/mod.rs
new file mode 100644
index 0000000..e69de29
diff --git a/site/404.html b/site/404.html
new file mode 100644
index 0000000..3a6ceb5
--- /dev/null
+++ b/site/404.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8" />
+    <title>404</title>
+    <link rel="stylesheet" href="/hello.css" />
+  </head>
+  <body>
+    <h1>404</h1>
+    <p>Hi from Rust</p>
+  </body>
+</html>
diff --git a/site/Cargo.lock b/site/Cargo.lock
index fac1130..498f9ed 100644
--- a/site/Cargo.lock
+++ b/site/Cargo.lock
@@ -2,9 +2,357 @@
 # It is not intended for manual editing.
 version = 3
 
+[[package]]
+name = "autocfg"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+
+[[package]]
+name = "base64"
+version = "0.21.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a"
+
+[[package]]
+name = "bitflags"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+[[package]]
+name = "bumpalo"
+version = "3.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b1ce199063694f33ffb7dd4e0ee620741495c32833cde5aa08f02a0bf96f0c8"
+
+[[package]]
+name = "bytes"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
+
+[[package]]
+name = "cc"
+version = "1.0.79"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "core-foundation"
+version = "0.9.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146"
+dependencies = [
+ "core-foundation-sys",
+ "libc",
+]
+
+[[package]]
+name = "core-foundation-sys"
+version = "0.8.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
+
+[[package]]
+name = "ctrlc"
+version = "3.2.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbcf33c2a618cbe41ee43ae6e9f2e48368cd9f9db2896f10167d8d762679f639"
+dependencies = [
+ "nix",
+ "windows-sys 0.45.0",
+]
+
+[[package]]
+name = "getrandom"
+version = "0.2.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c85e1d9ab2eadba7e5040d4e09cbd6d072b76a557ad64e797c2cb9d4da21d7e4"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "wasi",
+]
+
 [[package]]
 name = "http"
 version = "0.1.0"
+dependencies = [
+ "ctrlc",
+ "quinn",
+]
+
+[[package]]
+name = "js-sys"
+version = "0.3.61"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730"
+dependencies = [
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "libc"
+version = "0.2.144"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b00cc1c228a6782d0f076e7b232802e0c5689d41bb5df366f2a6b6621cfdfe1"
+
+[[package]]
+name = "log"
+version = "0.4.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "mio"
+version = "0.8.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9"
+dependencies = [
+ "libc",
+ "log",
+ "wasi",
+ "windows-sys 0.45.0",
+]
+
+[[package]]
+name = "nix"
+version = "0.26.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1a"
+dependencies = [
+ "bitflags",
+ "cfg-if",
+ "libc",
+ "static_assertions",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.17.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3"
+
+[[package]]
+name = "openssl-probe"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
+
+[[package]]
+name = "pin-project-lite"
+version = "0.2.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116"
+
+[[package]]
+name = "ppv-lite86"
+version = "0.2.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.56"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b63bdb0cd06f1f4dedf69b254734f9b45af66e4a031e42a7480257d9898b435"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "quinn"
+version = "0.9.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "445cbfe2382fa023c4f2f3c7e1c95c03dcc1df2bf23cebcb2b13e1402c4394d1"
+dependencies = [
+ "bytes",
+ "pin-project-lite",
+ "quinn-proto",
+ "quinn-udp",
+ "rustc-hash",
+ "rustls",
+ "thiserror",
+ "tokio",
+ "tracing",
+ "webpki",
+]
+
+[[package]]
+name = "quinn-proto"
+version = "0.9.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "67c10f662eee9c94ddd7135043e544f3c82fa839a1e7b865911331961b53186c"
+dependencies = [
+ "bytes",
+ "rand",
+ "ring",
+ "rustc-hash",
+ "rustls",
+ "rustls-native-certs",
+ "slab",
+ "thiserror",
+ "tinyvec",
+ "tracing",
+ "webpki",
+]
+
+[[package]]
+name = "quinn-udp"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "641538578b21f5e5c8ea733b736895576d0fe329bb883b937db6f4d163dbaaf4"
+dependencies = [
+ "libc",
+ "quinn-proto",
+ "socket2",
+ "tracing",
+ "windows-sys 0.42.0",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.27"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f4f29d145265ec1c483c7c654450edde0bfe043d3938d6972630663356d9500"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "rand"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
+dependencies = [
+ "libc",
+ "rand_chacha",
+ "rand_core",
+]
+
+[[package]]
+name = "rand_chacha"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
+dependencies = [
+ "ppv-lite86",
+ "rand_core",
+]
+
+[[package]]
+name = "rand_core"
+version = "0.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
+dependencies = [
+ "getrandom",
+]
+
+[[package]]
+name = "ring"
+version = "0.16.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc"
+dependencies = [
+ "cc",
+ "libc",
+ "once_cell",
+ "spin",
+ "untrusted",
+ "web-sys",
+ "winapi",
+]
+
+[[package]]
+name = "rustc-hash"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
+
+[[package]]
+name = "rustls"
+version = "0.20.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fff78fc74d175294f4e83b28343315ffcfb114b156f0185e9741cb5570f50e2f"
+dependencies = [
+ "ring",
+ "sct",
+ "webpki",
+]
+
+[[package]]
+name = "rustls-native-certs"
+version = "0.6.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0167bac7a9f490495f3c33013e7722b53cb087ecbe082fb0c6387c96f634ea50"
+dependencies = [
+ "openssl-probe",
+ "rustls-pemfile",
+ "schannel",
+ "security-framework",
+]
+
+[[package]]
+name = "rustls-pemfile"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d194b56d58803a43635bdc398cd17e383d6f71f9182b9a192c127ca42494a59b"
+dependencies = [
+ "base64",
+]
+
+[[package]]
+name = "schannel"
+version = "0.1.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3"
+dependencies = [
+ "windows-sys 0.42.0",
+]
+
+[[package]]
+name = "sct"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4"
+dependencies = [
+ "ring",
+ "untrusted",
+]
+
+[[package]]
+name = "security-framework"
+version = "2.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a332be01508d814fed64bf28f798a146d73792121129962fdf335bb3c49a4254"
+dependencies = [
+ "bitflags",
+ "core-foundation",
+ "core-foundation-sys",
+ "libc",
+ "security-framework-sys",
+]
+
+[[package]]
+name = "security-framework-sys"
+version = "2.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "31c9bb296072e961fcbd8853511dd39c2d8be2deb1e17c6860b1d30732b323b4"
+dependencies = [
+ "core-foundation-sys",
+ "libc",
+]
 
 [[package]]
 name = "site"
@@ -12,3 +360,398 @@ version = "0.1.0"
 dependencies = [
  "http",
 ]
+
+[[package]]
+name = "slab"
+version = "0.4.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "socket2"
+version = "0.4.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662"
+dependencies = [
+ "libc",
+ "winapi",
+]
+
+[[package]]
+name = "spin"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
+
+[[package]]
+name = "static_assertions"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
+
+[[package]]
+name = "syn"
+version = "1.0.109"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "syn"
+version = "2.0.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a34fcf3e8b60f57e6a14301a2e916d323af98b0ea63c599441eec8558660c822"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "thiserror"
+version = "1.0.40"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac"
+dependencies = [
+ "thiserror-impl",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "1.0.40"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.15",
+]
+
+[[package]]
+name = "tinyvec"
+version = "1.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
+dependencies = [
+ "tinyvec_macros",
+]
+
+[[package]]
+name = "tinyvec_macros"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
+
+[[package]]
+name = "tokio"
+version = "1.28.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c3c786bf8134e5a3a166db9b29ab8f48134739014a3eca7bc6bfa95d673b136f"
+dependencies = [
+ "autocfg",
+ "libc",
+ "mio",
+ "pin-project-lite",
+ "socket2",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "tracing"
+version = "0.1.37"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8"
+dependencies = [
+ "cfg-if",
+ "pin-project-lite",
+ "tracing-attributes",
+ "tracing-core",
+]
+
+[[package]]
+name = "tracing-attributes"
+version = "0.1.24"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0f57e3ca2a01450b1a921183a9c9cbfda207fd822cef4ccb00a65402cbba7a74"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.15",
+]
+
+[[package]]
+name = "tracing-core"
+version = "0.1.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a"
+dependencies = [
+ "once_cell",
+]
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4"
+
+[[package]]
+name = "untrusted"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a"
+
+[[package]]
+name = "wasi"
+version = "0.11.0+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
+
+[[package]]
+name = "wasm-bindgen"
+version = "0.2.84"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b"
+dependencies = [
+ "cfg-if",
+ "wasm-bindgen-macro",
+]
+
+[[package]]
+name = "wasm-bindgen-backend"
+version = "0.2.84"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9"
+dependencies = [
+ "bumpalo",
+ "log",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-macro"
+version = "0.2.84"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5"
+dependencies = [
+ "quote",
+ "wasm-bindgen-macro-support",
+]
+
+[[package]]
+name = "wasm-bindgen-macro-support"
+version = "0.2.84"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+ "wasm-bindgen-backend",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-shared"
+version = "0.2.84"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d"
+
+[[package]]
+name = "web-sys"
+version = "0.3.61"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97"
+dependencies = [
+ "js-sys",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "webpki"
+version = "0.22.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd"
+dependencies = [
+ "ring",
+ "untrusted",
+]
+
+[[package]]
+name = "winapi"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
+dependencies = [
+ "winapi-i686-pc-windows-gnu",
+ "winapi-x86_64-pc-windows-gnu",
+]
+
+[[package]]
+name = "winapi-i686-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+
+[[package]]
+name = "winapi-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+
+[[package]]
+name = "windows-sys"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
+dependencies = [
+ "windows_aarch64_gnullvm 0.42.2",
+ "windows_aarch64_msvc 0.42.2",
+ "windows_i686_gnu 0.42.2",
+ "windows_i686_msvc 0.42.2",
+ "windows_x86_64_gnu 0.42.2",
+ "windows_x86_64_gnullvm 0.42.2",
+ "windows_x86_64_msvc 0.42.2",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.45.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
+dependencies = [
+ "windows-targets 0.42.2",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
+dependencies = [
+ "windows-targets 0.48.0",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071"
+dependencies = [
+ "windows_aarch64_gnullvm 0.42.2",
+ "windows_aarch64_msvc 0.42.2",
+ "windows_i686_gnu 0.42.2",
+ "windows_i686_msvc 0.42.2",
+ "windows_x86_64_gnu 0.42.2",
+ "windows_x86_64_gnullvm 0.42.2",
+ "windows_x86_64_msvc 0.42.2",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5"
+dependencies = [
+ "windows_aarch64_gnullvm 0.48.0",
+ "windows_aarch64_msvc 0.48.0",
+ "windows_i686_gnu 0.48.0",
+ "windows_i686_msvc 0.48.0",
+ "windows_x86_64_gnu 0.48.0",
+ "windows_x86_64_gnullvm 0.48.0",
+ "windows_x86_64_msvc 0.48.0",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
diff --git a/site/QLC-LS.jpg b/site/QLC-LS.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..07eb7f85ac26c70344d552f56a81c44a0bf1b3db
GIT binary patch
literal 51549
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
B#&7@t

literal 0
HcmV?d00001

diff --git a/site/hello.css b/site/hello.css
new file mode 100644
index 0000000..aba0df0
--- /dev/null
+++ b/site/hello.css
@@ -0,0 +1,4 @@
+body {
+  background-color: #212121;
+  color: #ffffff;
+}
diff --git a/site/hello.html b/site/hello.html
index ff4f652..52ef689 100644
--- a/site/hello.html
+++ b/site/hello.html
@@ -3,6 +3,7 @@
   <head>
     <meta charset="utf-8" />
     <title>Hello!</title>
+    <link rel="stylesheet" href="/hello.css" />
   </head>
   <body>
     <h1>Hello!</h1>
diff --git a/site/src/main.rs b/site/src/main.rs
index 435d748..55ea439 100644
--- a/site/src/main.rs
+++ b/site/src/main.rs
@@ -1,3 +1,3 @@
 fn main() {
-    http::build("192.168.179.2:8000").launch();
+    http::build("127.0.0.1:8000").mount("/", vec![]).launch();
 }
-- 
GitLab