From 141ac52f7d43bf3fa0851686d00e3b785981f62e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?BENEDEK=20L=C3=A1szl=C3=B3?= Date: Tue, 5 Dec 2023 23:42:51 +0100 Subject: [PATCH] Readme --- Readme.md | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 Readme.md diff --git a/Readme.md b/Readme.md new file mode 100644 index 0000000..bfec667 --- /dev/null +++ b/Readme.md @@ -0,0 +1,29 @@ +# Rum, a HTTP server library for C++ +inspired by Golang libraries + +## Usage +An example server is included in `src/server.cpp`. +```c++ +try { + // create a server ˇthread count ˇsocket reading buffer size + Rum::HTTP::Server server(80, DEFAULT_WORKER_COUNT, DEFAULT_BUFFER_SIZE); + + // create a new path with GET method + server->add_path( + "/.*", // regex for the path + [](const Rum::HTTP::Request& req, Rum::HTTP::Response& resp) { // your handler function + resp.body = "

Hello World

" + (std::string)req + "
"; // send some data + } + ); + + // listen for connections + server.listen(); +} catch (Rum::TCP::Error&) { + // failed to bind port +} +``` + +## Features +- thread pooling +- regex paths +- only system and standard dependencies \ No newline at end of file