At the first read, I'm :-1: here (especially for the case of Buzz). If we start making this kind of check, we should do the same for files as Buzz can't make a post multipart send with the default adapter (file get contents). Additionally, why do you restrict it to Curl and not AbstractCurl?

IMO, it should be documented that multipart post & persistent connection are only supported with Buzz if the AbstractCurl adapter is used but nothing more. What's your opinion?