code: function OAuth(uri, opts) {
    this.uri = uri;
  
    /* Extending `uri` with oauth URI's */
    this.uri.requestToken = 'https://api.twitter.com/oauth/request_token';
    this.uri.accessToken = 'https://api.twitter.com/oauth/access_token';
    this.uri.authenticate = 'https://api.twitter.com/oauth/authenticate';
    this.uri.authorize = 'https://api.twitter.com/oauth/authorize';
  
    /* checking the required arguments */
    ['consumer_key', 'consumer_secret'].forEach(function (item) {
      if (opts[item] == null)
        throw new Error('There\'s a required argument missing: ' + item);
    });
  
    this.opts = opts;
  }
docs: Module: OAuth =============  Abstraction for the authentication methods of Twitter's API.  **Notice**: At the moment this is depending on `request`'s ability to create OAuth signatures, but in the future this should have it's own OAuth signing with OAuth2 support.  Methods -------  + [Constructor](#constructor) + [Request Token](#requestToken) + [Access Token](#accessToken) + [Authenticate](#authenticate) + [Authorize](#authorize)  Usage -----  ``` var TwitterLib = require('twitter-rest-lite'), oauth = new TwitterLib.OAuth(var_with_keys);  api.requestToken(callback);  api.accessToken(token, verifier, callback);  api.authenticate(callback);  api.authorize(callback); ```  <a name='constructor'></a> Constructor -----------  #### Parameters  + `uri`       - Object with the basic API URI's + `opts`      - Object with the following params - `consumer_key` - [Required] consumer_key from Twitter - `consumer_secret` - [Required] consumer_secret from Twitter - `callback` - [Optional]  #### Returns  An `Object` with methods `requestToken`, `accessToken`, `authenticate` and `authorize`.  #### Code