code: func (t *OAuth2Tripper) RoundTrip(req *http.Request) (*http.Response, error) {
  
  	//TODO: check token expiration and renew if necessary
  
  	if t.Credentials() != nil {
  
  		// copy the request
  		req = cloneRequest(req)
  
  		// set the header
  		headerK, headerV := AuthorizationHeader(t.Credentials())
  		req.Header.Set(headerK, headerV)
  
  		// set the accept header to ask for JSON
  		req.Header.Set("Accept", "application/json")
  
  	}
  
  	return t.underlyingTransport.RoundTrip(req)
  }
docs: // RoundTrip is called by the http package when making a request to a server. This
  // implementation of RoundTrip inserts the appropriate authorization headers
  // into the request in order to enable access of protected resources.
  //
  // If the auth token has expired, RoundTrip will attempt to renew it.