Reengineering http clients