Live data from Hacker News

Show HN: Lightweight C++23 S3 client with no extra deps (just curl and OpenSSL)

github.com

1–6 of 6 posts

Show HN: Lightweight C++23 S3 client with no extra deps (just curl and OpenSSL)

#1
Attached is my attempt at making a small toy S3 client without any other dependency besides libcurl and OpenSSL. Was tested mainly on MinIO (RIP) locally, so I would expect some bugs when using it against AWS, although I was able to play with it on some open access buckets

Be aware that I am not a C++ programmer and this project was indeed done to learn a bit of C++ myself :')

Feedback on any of the code, either on gtest, or the benchmarking section or the core itself is welcome!

Show HN: Lightweight C++23 S3 client with no extra deps (just curl and OpenSSL)
github.com

Re: Show HN: Lightweight C++23 S3 client with no extra deps (just curl and OpenSSL)

#4

You may want to look into coroutines so that the data can be fetched asynchronously.

Yep! I'd also like to explore C++26 reflection for the XML FSM parser I currently have

Everything so far is synchronous. In our toy benchmarks I've found out Go to be quite performant, perhaps it's using go-routines behind the scenes (?) Haven't explored their internals yet but I was surprised

Re: Show HN: Lightweight C++23 S3 client with no extra deps (just curl and OpenSSL)

#5

“Just” curl and openssl. Those are not small and do a ton of lifting… easily adds 2-3mb to a static binary.

Fair point. Should've titled it "minimal dependencies" perhaps

Since C++ has no HTTP client in its std lib, I really had no other choice but to use curl. Same with OpenSSL. It'd be quite naïve of me to re-implement the whole HTTP stack and SHA256 from scratch =)