HTTP agent with simple API and clean implementation