Allow http client to be overridden

@adamnfish is it fine for your use case?