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