01
PlusWeb
An Express-style HTTP framework in C++17.
Everything above the socket is mine: the accept loop, the parser, the router, the middleware machinery. A literal path segment always beats a parameter, whatever order you registered them in.
- C++17
- libuv
- llhttp
- CMake
- MIT
- dependencies
- three — libuv, llhttp, nlohmann/json
- tested
- GoogleTest, ASan + UBSan in CI
- license
- MIT, installable via CMake
$ curl -i http://localhost:3000/users/123 HTTP/1.1 200 OK Connection: keep-alive { "id": "123", "name": "Ahmed" } $ curl -i http://localhost:3000/admin/x HTTP/1.1 404 Not Found
the timing on that page is measured in your browser, on a port of the same trie — not typed in by me.