add tests, and rename RequestSender to HttpRequestSender