the performance is ok, but likely can be improved upon:
libcurl seems to not reuse connections, why not?
libcurl when using any auth, ALWAYS tries unauth'd for EVERY
request instead of caching that this url NEEDs auth
there are some error handling cases that could be improved