anchor.diff:    }
   }
   
  +/**
  + * Represents a response for exchanging a code for a token.
  + */
   class ExchangeResponse {
     final String token;
     final List<String> scopes;
  
positive.code:     });
    }
    
    Future<ExchangeResponse> exchange(String code, [String origin]) {
      var headers = {
        "Accept": "application/json"
  
negative.code:     return uri.contains("?") ? uri.substring(0, uri.indexOf("?")) : uri;
    }
    
    /**
     * Generates an Authorization URL
     * 
     * This should be displayed to the user.
     */
    String createAuthorizeUrl() {
      return baseUrl + "/authorize" + buildQueryString({
        "client_id": clientId,
  