code: func ReadJSON(r *http.Request, val interface{}) error {
  	data, err := ioutil.ReadAll(r.Body)
  	if err != nil {
  		return trace.Wrap(err)
  	}
  	if err := json.Unmarshal(data, &val); err != nil {
  		return trace.BadParameter("request: %v", err.Error())
  	}
  	return nil
  }
docs: // ReadJSON reads HTTP json request and unmarshals it
  // into passed interface{} obj