code: func (r *Resource) Request(method string, body ...interface{}) *http.Request {
  	rdr := io.MultiReader() // empty body by default
  	if len(body) != 0 {
  		rdr = encode(body[0])
  	}
  	req, err := http.NewRequest(method, r.u.String(), rdr)
  	if err != nil {
  		panic(err)
  	}
  	return req
  }
docs: // Request returns a new http.Request for the given method.
  // An optional body can be provided for POST and PATCH methods.