I really dislike monkey patches. I am not sure if @nahi /httpclient would be interested in a Pull request, but the gem would benefit from the improvement.

I have not compared these function to the ones that live in httpclient, but I am concerned about inadvertently introducing hard to find bugs (due to monkey patching) and/or overriding behavior changes in the upstream gem. For tools like chef or vagrant this is not as concerning since they are omnibus built, but for other projects where WinRM is but a small part of a larger system (Dependency or Gemfile inclusion) I am concerned. Are there alternate approaches that mitigate this risk? Am I wrong?