one of the things that let me drop libCurl in horror was the missing type safety. The so-called easy interface provides a function which basically accepts everything during compilation, and then simply crashes during execution when these arguments were not good...
This is why I searched for networking frameworks once more and stumbled over Poco. Great framework! We ended up replacing not only libCurl but also libXML++ and log4cxx.
But: One thing that bugs me is the way to get/set properties of Poco::Configurable objects!
IMHO it would be much better to have specific functions for each property. This way, a lot of mistakes could be detected by the compiler instead of running into an exception.
For example, the line satisfies the compiler but causes an exception at runtime:
It would be much harder to do it wrong with a specific property function like this:
void setRotationSizeInBytes(const unsigned int bytes);
Thanks and regards,