En el trabajo teníamos la necesitada de implementar un ApiRest dentro de un daemon realizado en C++. La funcionalidad era bien simple solo se tenia que tener un endpoint POST, el cual recibía un json y dentro de este teníamos un parámetro que identificada la funcionada a utilizar.
Se probaron varias librerías disponibles en internet y se desarrollo con Ulfius. La implementación fue bastante sencilla, pero luego vimos que el servidor donde debía correr la aplicación no lo soportaba por ser una versión vieja y tampoco podíamos hacer el binario estático, por otras librerías que utilizábamos.
Vi que la mayoría de las librerías de ApiRest que analice tenían como base a libmicrohttpd por lo cual me pregunte que tan difícil puede ser generar una, luego de leer la documentación de libmicrohttpd y revisar en internet di con este post de StackOverflow, el cual fue la base de lo que necesitaba implementar.
El código lo subí a GitHub, espero que les ayude.