diff --git a/lib/auth/oauth2client.js b/lib/auth/oauth2client.js index 3eccdfa..ab01bad 100644 --- a/lib/auth/oauth2client.js +++ b/lib/auth/oauth2client.js @@ -22,6 +22,7 @@ var noop = require('lodash.noop'); var PemVerifier = require('./../pemverifier.js'); var querystring = require('querystring'); var util = require('util'); +var DefaultTransporter = require('./../transporters.js'); var certificateCache = null; var certificateExpiry = null; @@ -35,7 +36,7 @@ var certificateExpiry = null; * @param {Object} opt_opts optional options for overriding the given parameters. * @constructor */ -function OAuth2Client(clientId, clientSecret, redirectUri, opt_opts) { +function OAuth2Client(clientId, clientSecret, redirectUri, opt_opts, transporter_options) { OAuth2Client.super_.call(this); this.clientId_ = clientId; @@ -43,6 +44,7 @@ function OAuth2Client(clientId, clientSecret, redirectUri, opt_opts) { this.redirectUri_ = redirectUri; this.opts = opt_opts || {}; this.credentials = {}; + this.transporter = new DefaultTransporter(transporter_options); } /** @@ -152,7 +154,7 @@ OAuth2Client.prototype.getToken = function(code, opt_callback) { } var done = opt_callback || noop; done(err, tokens, response); - }, this.opts); + }); }; /** diff --git a/lib/transporters.js b/lib/transporters.js index 82f0a0b..613d182 100644 --- a/lib/transporters.js +++ b/lib/transporters.js @@ -24,7 +24,9 @@ var utils = require('../lib/utils.js'); * Default transporter constructor. * Wraps request and callback functions. */ -function DefaultTransporter() {} +function DefaultTransporter(options) { + this.options = options || {}; +} /** * Default user agent. @@ -54,9 +56,9 @@ DefaultTransporter.prototype.configure = function(opts) { * @param {Function=} opt_callback Optional callback. * @return {Request} Request object */ -DefaultTransporter.prototype.request = function(opts, opt_callback, extra_opts) { +DefaultTransporter.prototype.request = function(opts, opt_callback) { opts = this.configure(opts); - opts = utils.extend(opts, extra_opts); + opts = utils.extend(opts, this.options); return request(opts.uri || opts.url, opts, this.wrapCallback_(opt_callback)); };