add httpprovider interface