code: func body(response *http.Response) (string, error) {
  
  	// if we recived the content we expected
  	if strings.Contains(response.Header.Get("Content-Type"), "application/soap+xml") {
  		body, err := ioutil.ReadAll(response.Body)
  		defer func() {
  			// defer can modify the returned value before
  			// it is actually passed to the calling statement
  			if errClose := response.Body.Close(); errClose != nil && err == nil {
  				err = errClose
  			}
  		}()
  		if err != nil {
  			return "", fmt.Errorf("error while reading request body %s", err)
  		}
  
  		return string(body), nil
  	}
  
  	return "", fmt.Errorf("invalid content type")
  }
docs: // body func reads the response body and return it as a string