wrapping request/response/exception for http