func NewResponse(res *http.Response) (*Response, error) {
	headers := make(map[string][]string)
	for k, v := range res.Header {
		if len(v) > 0 {
			headers[k] = strings.Split(v[0], ", ")
		}
	}
	body, err := ioutil.ReadAll(res.Body)
	if err != nil {
		return nil, err
	}
	return &Response{
		StatusCode: res.StatusCode,
		Headers:    headers,
		Body:       body,
	}, nil
}
NewResponse creates a more basic HTTP Response from the passed http.Response
package httpclient  
import (
	"io/ioutil"
	"net/http"
	"strings"
)
type Response struct {
	StatusCode int
	Headers    map[string][]string
	Body       []byte
}