{"ast":null,"code":"'use strict';\n\nvar url = require('url');\n\nvar qs = require('qs');\n\nvar caseless = require('caseless');\n\nvar uuid = require('uuid/v4');\n\nvar oauth = require('oauth-sign');\n\nvar crypto = require('crypto');\n\nvar Buffer = require('safe-buffer').Buffer;\n\nfunction OAuth(request) {\n this.request = request;\n this.params = null;\n}\n\nOAuth.prototype.buildParams = function (_oauth, uri, method, query, form, qsLib) {\n var oa = {};\n\n for (var i in _oauth) {\n oa['oauth_' + i] = _oauth[i];\n }\n\n if (!oa.oauth_version) {\n oa.oauth_version = '1.0';\n }\n\n if (!oa.oauth_timestamp) {\n oa.oauth_timestamp = Math.floor(Date.now() / 1000).toString();\n }\n\n if (!oa.oauth_nonce) {\n oa.oauth_nonce = uuid().replace(/-/g, '');\n }\n\n if (!oa.oauth_signature_method) {\n oa.oauth_signature_method = 'HMAC-SHA1';\n }\n\n var consumer_secret_or_private_key = oa.oauth_consumer_secret || oa.oauth_private_key; // eslint-disable-line camelcase\n\n delete oa.oauth_consumer_secret;\n delete oa.oauth_private_key;\n var token_secret = oa.oauth_token_secret; // eslint-disable-line camelcase\n\n delete oa.oauth_token_secret;\n var realm = oa.oauth_realm;\n delete oa.oauth_realm;\n delete oa.oauth_transport_method;\n var baseurl = uri.protocol + '//' + uri.host + uri.pathname;\n var params = qsLib.parse([].concat(query, form, qsLib.stringify(oa)).join('&'));\n oa.oauth_signature = oauth.sign(oa.oauth_signature_method, method, baseurl, params, consumer_secret_or_private_key, // eslint-disable-line camelcase\n token_secret // eslint-disable-line camelcase\n );\n\n if (realm) {\n oa.realm = realm;\n }\n\n return oa;\n};\n\nOAuth.prototype.buildBodyHash = function (_oauth, body) {\n if (['HMAC-SHA1', 'RSA-SHA1'].indexOf(_oauth.signature_method || 'HMAC-SHA1') < 0) {\n this.request.emit('error', new Error('oauth: ' + _oauth.signature_method + ' signature_method not supported with body_hash signing.'));\n }\n\n var shasum = crypto.createHash('sha1');\n shasum.update(body || '');\n var sha1 = shasum.digest('hex');\n return Buffer.from(sha1, 'hex').toString('base64');\n};\n\nOAuth.prototype.concatParams = function (oa, sep, wrap) {\n wrap = wrap || '';\n var params = Object.keys(oa).filter(function (i) {\n return i !== 'realm' && i !== 'oauth_signature';\n }).sort();\n\n if (oa.realm) {\n params.splice(0, 0, 'realm');\n }\n\n params.push('oauth_signature');\n return params.map(function (i) {\n return i + '=' + wrap + oauth.rfc3986(oa[i]) + wrap;\n }).join(sep);\n};\n\nOAuth.prototype.onRequest = function (_oauth) {\n var self = this;\n self.params = _oauth;\n var uri = self.request.uri || {};\n var method = self.request.method || '';\n var headers = caseless(self.request.headers);\n var body = self.request.body || '';\n var qsLib = self.request.qsLib || qs;\n var form;\n var query;\n var contentType = headers.get('content-type') || '';\n var formContentType = 'application/x-www-form-urlencoded';\n var transport = _oauth.transport_method || 'header';\n\n if (contentType.slice(0, formContentType.length) === formContentType) {\n contentType = formContentType;\n form = body;\n }\n\n if (uri.query) {\n query = uri.query;\n }\n\n if (transport === 'body' && (method !== 'POST' || contentType !== formContentType)) {\n self.request.emit('error', new Error('oauth: transport_method of body requires POST ' + 'and content-type ' + formContentType));\n }\n\n if (!form && typeof _oauth.body_hash === 'boolean') {\n _oauth.body_hash = self.buildBodyHash(_oauth, self.request.body.toString());\n }\n\n var oa = self.buildParams(_oauth, uri, method, query, form, qsLib);\n\n switch (transport) {\n case 'header':\n self.request.setHeader('Authorization', 'OAuth ' + self.concatParams(oa, ',', '\"'));\n break;\n\n case 'query':\n var href = self.request.uri.href += (query ? '&' : '?') + self.concatParams(oa, '&');\n self.request.uri = url.parse(href);\n self.request.path = self.request.uri.path;\n break;\n\n case 'body':\n self.request.body = (form ? form + '&' : '') + self.concatParams(oa, '&');\n break;\n\n default:\n self.request.emit('error', new Error('oauth: transport_method invalid'));\n }\n};\n\nexports.OAuth = OAuth;","map":{"version":3,"sources":["/Users/tylerkoenig/Code/personal/react-scss2/node_modules/request/lib/oauth.js"],"names":["url","require","qs","caseless","uuid","oauth","crypto","Buffer","OAuth","request","params","prototype","buildParams","_oauth","uri","method","query","form","qsLib","oa","i","oauth_version","oauth_timestamp","Math","floor","Date","now","toString","oauth_nonce","replace","oauth_signature_method","consumer_secret_or_private_key","oauth_consumer_secret","oauth_private_key","token_secret","oauth_token_secret","realm","oauth_realm","oauth_transport_method","baseurl","protocol","host","pathname","parse","concat","stringify","join","oauth_signature","sign","buildBodyHash","body","indexOf","signature_method","emit","Error","shasum","createHash","update","sha1","digest","from","concatParams","sep","wrap","Object","keys","filter","sort","splice","push","map","rfc3986","onRequest","self","headers","contentType","get","formContentType","transport","transport_method","slice","length","body_hash","setHeader","href","path","exports"],"mappings":"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","sourcesContent":["'use strict'\n\nvar url = require('url')\nvar qs = require('qs')\nvar caseless = require('caseless')\nvar uuid = require('uuid/v4')\nvar oauth = require('oauth-sign')\nvar crypto = require('crypto')\nvar Buffer = require('safe-buffer').Buffer\n\nfunction OAuth (request) {\n this.request = request\n this.params = null\n}\n\nOAuth.prototype.buildParams = function (_oauth, uri, method, query, form, qsLib) {\n var oa = {}\n for (var i in _oauth) {\n oa['oauth_' + i] = _oauth[i]\n }\n if (!oa.oauth_version) {\n oa.oauth_version = '1.0'\n }\n if (!oa.oauth_timestamp) {\n oa.oauth_timestamp = Math.floor(Date.now() / 1000).toString()\n }\n if (!oa.oauth_nonce) {\n oa.oauth_nonce = uuid().replace(/-/g, '')\n }\n if (!oa.oauth_signature_method) {\n oa.oauth_signature_method = 'HMAC-SHA1'\n }\n\n var consumer_secret_or_private_key = oa.oauth_consumer_secret || oa.oauth_private_key // eslint-disable-line camelcase\n delete oa.oauth_consumer_secret\n delete oa.oauth_private_key\n\n var token_secret = oa.oauth_token_secret // eslint-disable-line camelcase\n delete oa.oauth_token_secret\n\n var realm = oa.oauth_realm\n delete oa.oauth_realm\n delete oa.oauth_transport_method\n\n var baseurl = uri.protocol + '//' + uri.host + uri.pathname\n var params = qsLib.parse([].concat(query, form, qsLib.stringify(oa)).join('&'))\n\n oa.oauth_signature = oauth.sign(\n oa.oauth_signature_method,\n method,\n baseurl,\n params,\n consumer_secret_or_private_key, // eslint-disable-line camelcase\n token_secret // eslint-disable-line camelcase\n )\n\n if (realm) {\n oa.realm = realm\n }\n\n return oa\n}\n\nOAuth.prototype.buildBodyHash = function (_oauth, body) {\n if (['HMAC-SHA1', 'RSA-SHA1'].indexOf(_oauth.signature_method || 'HMAC-SHA1') < 0) {\n this.request.emit('error', new Error('oauth: ' + _oauth.signature_method +\n ' signature_method not supported with body_hash signing.'))\n }\n\n var shasum = crypto.createHash('sha1')\n shasum.update(body || '')\n var sha1 = shasum.digest('hex')\n\n return Buffer.from(sha1, 'hex').toString('base64')\n}\n\nOAuth.prototype.concatParams = function (oa, sep, wrap) {\n wrap = wrap || ''\n\n var params = Object.keys(oa).filter(function (i) {\n return i !== 'realm' && i !== 'oauth_signature'\n }).sort()\n\n if (oa.realm) {\n params.splice(0, 0, 'realm')\n }\n params.push('oauth_signature')\n\n return params.map(function (i) {\n return i + '=' + wrap + oauth.rfc3986(oa[i]) + wrap\n }).join(sep)\n}\n\nOAuth.prototype.onRequest = function (_oauth) {\n var self = this\n self.params = _oauth\n\n var uri = self.request.uri || {}\n var method = self.request.method || ''\n var headers = caseless(self.request.headers)\n var body = self.request.body || ''\n var qsLib = self.request.qsLib || qs\n\n var form\n var query\n var contentType = headers.get('content-type') || ''\n var formContentType = 'application/x-www-form-urlencoded'\n var transport = _oauth.transport_method || 'header'\n\n if (contentType.slice(0, formContentType.length) === formContentType) {\n contentType = formContentType\n form = body\n }\n if (uri.query) {\n query = uri.query\n }\n if (transport === 'body' && (method !== 'POST' || contentType !== formContentType)) {\n self.request.emit('error', new Error('oauth: transport_method of body requires POST ' +\n 'and content-type ' + formContentType))\n }\n\n if (!form && typeof _oauth.body_hash === 'boolean') {\n _oauth.body_hash = self.buildBodyHash(_oauth, self.request.body.toString())\n }\n\n var oa = self.buildParams(_oauth, uri, method, query, form, qsLib)\n\n switch (transport) {\n case 'header':\n self.request.setHeader('Authorization', 'OAuth ' + self.concatParams(oa, ',', '\"'))\n break\n\n case 'query':\n var href = self.request.uri.href += (query ? '&' : '?') + self.concatParams(oa, '&')\n self.request.uri = url.parse(href)\n self.request.path = self.request.uri.path\n break\n\n case 'body':\n self.request.body = (form ? form + '&' : '') + self.concatParams(oa, '&')\n break\n\n default:\n self.request.emit('error', new Error('oauth: transport_method invalid'))\n }\n}\n\nexports.OAuth = OAuth\n"]},"metadata":{},"sourceType":"script"}