A few years back I found the need to implement an HTTP-server backend application in C++. The libraries I found were either defunct or, IMHO, too heavy, dependent on too many 3rd-party libraries or had really quirky APIs. libseafire was born.
libseafire makes it easy to build advanced HTTP-servers and clients in C++. All details of the HTTP protocol are accessible, but libseafire also provides an easy to use routing library as well as modelling resources around C++ classes instead of having to dive into the HTTP details needlessly.
The library uses many of the features available in modern C++ and relies heavily on template meta-programming while still providing an intuitive API.
libseafire has few dependencies, the biggest of them being libruntime which itself depends on ASIO. libruntime provides an IO abstraction-layer and polymorphic wrapper around ASIO. This makes it very easy to re-implement libseafire using a different IO subsystem.
Below is a quick example on how to create an integrated webserver using libseafire in C++. To compile the example I strongly recommend using the build2 toolset, which will automatically download dependencies (libseafire itself and libruntime/ASIO). Read more on build2.org.
Get in touch
Do you need to implement an HTTP-server in your C++ project?
Don't hesitate to contact me today and we can discuss how to best solve your problems.