let users provide their own http client (e.g. for Google App Engine)