So... I might have done something really stupid, which is unnecessarily override the HTTPConnection classes. The call to .request() contains the connect and the later call to getresponse() contains the recv(). 

I will look at this with fresh eyes tomorrow.