Separating http transport so that it can be shared by apitransport and blstransport