a libcurl c++ wrapper