improve http request api