move http client out of middleware
add specs for http client
add gem support files