HeartLinked opened a new issue, #232: URL: https://github.com/apache/iceberg-cpp/issues/232
I'm proposing we select an HTTP client library for rest catalog. I've reviewed `libcurl`, `cpr`, and `cpp-httplib`. I suggest we rule out `libcurl` for direct use. Its C-style API is too complex and error-prone for a modern C++23 project.This leaves us with two primary contenders that offer modern C++ wrappers: `cpr` and `cpp-httplib`.The main advantage of cpp-httplib is its simplicity. It's a header-only library with virtually zero dependencies (unless HTTPS is needed), which makes integration extremely straightforward. However, after a deeper comparison, I believe `cpr` is the superior choice for our project for its modern and usable API, rich features. Because `cpr` is a wrapper around `libcurl`, it inherits its robustness and extensive feature set. This includes superior performance characteristics, fine-grained control over things like timeouts and authentication, and asynchronous request capabilities. I've conducted a POC here: #230 . WDYT? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
