Why are we creating a new HttpClient and not reusing the one from the current request? This is going to be problematic  when centralise the creation of the HttpClient and try to use pooling etc. It also exposes us if we have to fix problems in how we instantiate the HttpClient e.g. USER_EXPECT_CONTINUE stuff.