further abstracted http api

goal is to switch to a performant socket based connection.