oniyi-http-client
Advanced tools
Comparing version 1.0.0 to 1.1.0
'use strict'; | ||
// core modules | ||
// node core modules | ||
const path = require('path'); | ||
// npm modules | ||
const _ = require('lodash'); | ||
// 3rd party modules | ||
const request = require('request'); | ||
const tough = require('tough-cookie'); | ||
const _ = require('lodash'); | ||
const logger = require('oniyi-logger')('oniyi:http-client'); | ||
const pkg = require(path.resolve(__dirname, '..', 'package.json')); | ||
const logger = require('oniyi-logger')(pkg.name); | ||
// others | ||
// internal modules | ||
const Request = require('./request'); | ||
@@ -16,0 +14,0 @@ const { parseUri } = require('./helpers'); |
'use strict'; | ||
// core modules | ||
// node core modules | ||
const util = require('util'); | ||
const path = require('path'); | ||
const stream = require('stream'); | ||
const url = require('url'); | ||
// npm modules | ||
// 3rd party modules | ||
const request = require('request'); | ||
const pkg = require(path.resolve(__dirname, '..', 'package.json')); | ||
const logger = require('oniyi-logger')(util.format('%s@v%s:request', pkg.name, pkg.version)); | ||
const logger = require('oniyi-logger')('oniyi:http-client:request'); | ||
const _ = require('lodash'); | ||
// internal modules | ||
const { applyPlugins } = require('./helpers'); | ||
@@ -17,0 +15,0 @@ |
{ | ||
"name": "oniyi-http-client", | ||
"version": "1.0.0", | ||
"version": "1.1.0", | ||
"description": "Adding a plugin interface to \"request\" that allows modifications of request parameters and response data", | ||
@@ -23,4 +23,4 @@ "homepage": "", | ||
"devDependencies": { | ||
"eslint": "3.3.1", | ||
"eslint-config-oniyi": "4.1.0", | ||
"eslint": "^3.5.0", | ||
"eslint-config-oniyi": "^4.2.0", | ||
"gulp": "3.9.1", | ||
@@ -43,6 +43,6 @@ "gulp-coveralls": "0.1.4", | ||
"lodash": "4.15.0", | ||
"oniyi-logger": "0.4.2", | ||
"request": "2.74.0", | ||
"tough-cookie": "2.3.1" | ||
"oniyi-logger": "^1.0.0", | ||
"request": "^2.78.0", | ||
"tough-cookie": "^2.3.2" | ||
} | ||
} |
'use strict'; | ||
var async = require('async'); | ||
var request = require('request'); | ||
// node core modules | ||
var requestJarPrototype = Object.getPrototypeOf(request.jar()); | ||
// 3rd party modules | ||
const async = require('async'); | ||
const request = require('request'); | ||
// internal modules | ||
const requestJarPrototype = Object.getPrototypeOf(request.jar()); | ||
function putCookiesInJar(setCookieHeaders, completeRequestURI, cookieJar, callback) { | ||
if (typeof setCookieHeaders === 'string') { | ||
setCookieHeaders = [setCookieHeaders]; | ||
} | ||
async.each(setCookieHeaders, function (setCookieHeader, iteratorCallback) { | ||
const eachArray = (typeof setCookieHeaders === 'string') ? [setCookieHeaders] : setCookieHeaders; | ||
async.each(eachArray, (setCookieHeader, iteratorCallback) => { | ||
cookieJar.setCookie(setCookieHeader, completeRequestURI, iteratorCallback); | ||
@@ -27,14 +30,17 @@ }, callback); | ||
name: 'async-cookie-jar', | ||
load: function (req, params, callback) { | ||
load: (req, oParams, callback) => { | ||
// skip if we have a cookie jar that can be handled by the request module | ||
if (isRequestJar(params.jar)) { | ||
return callback(null, params); | ||
if (isRequestJar(oParams.jar)) { | ||
callback(null, oParams); | ||
return; | ||
} | ||
var cookieJar = params.jar; | ||
const params = Object.assign({}, oParams); | ||
const cookieJar = params.jar; | ||
// retrieve cookies from jar asynchronously | ||
cookieJar.getCookieString(params.uri.href, function (err, cookieString) { | ||
cookieJar.getCookieString(params.uri.href, (err, cookieString) => { | ||
if (err) { | ||
return callback(err); | ||
callback(err); | ||
return; | ||
} | ||
@@ -48,22 +54,24 @@ | ||
params.headers = params.headers || {}; | ||
params.headers.cookie = cookieString + (params.headers.cookie ? '; ' + params.headers.cookie : ''); | ||
params.headers.cookie = cookieString + (params.headers.cookie ? `; ${params.headers.cookie}` : ''); | ||
// the "response" event is emitted on each response, that includes redirects | ||
req.on('response', function (response) { | ||
req.on('response', (response) => { | ||
// do we have a response object including the set-cookie header | ||
if (response && response.headers && response.headers['set-cookie']) { | ||
var completeRequestURI = response.request.uri.href; | ||
const completeRequestURI = response.request.uri.href; | ||
// write received cookies to our jar | ||
return putCookiesInJar(response.headers['set-cookie'], completeRequestURI, cookieJar, function (cookieErr) { | ||
putCookiesInJar(response.headers['set-cookie'], completeRequestURI, cookieJar, (cookieErr) => { | ||
if (cookieErr) { | ||
return req.emit('error', cookieErr); | ||
req.emit('error', cookieErr); | ||
} | ||
}); | ||
return; | ||
} | ||
}); | ||
return callback(null, params); | ||
callback(null, params); | ||
return; | ||
}); | ||
} | ||
}, | ||
}; |
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
424
2
20255
+ Addedajv@6.12.6(transitive)
+ Addedasynckit@0.4.0(transitive)
+ Addedaws-sign2@0.7.0(transitive)
+ Addedcaseless@0.12.0(transitive)
+ Addedfast-deep-equal@3.1.3(transitive)
+ Addedfast-json-stable-stringify@2.1.0(transitive)
+ Addedform-data@2.3.3(transitive)
+ Addedhar-schema@2.0.0(transitive)
+ Addedhar-validator@5.1.5(transitive)
+ Addedhttp-signature@1.2.0(transitive)
+ Addedjson-schema-traverse@0.4.1(transitive)
+ Addedoauth-sign@0.9.0(transitive)
+ Addedoniyi-logger@1.0.0(transitive)
+ Addedperformance-now@2.1.0(transitive)
+ Addedpsl@1.15.0(transitive)
+ Addedpunycode@2.3.1(transitive)
+ Addedqs@6.5.3(transitive)
+ Addedrequest@2.88.2(transitive)
+ Addedsafe-buffer@5.2.1(transitive)
+ Addedtough-cookie@2.5.0(transitive)
+ Addedtunnel-agent@0.6.0(transitive)
+ Addeduri-js@4.4.1(transitive)
+ Addeduuid@3.4.0(transitive)
- Removedansi-regex@2.1.1(transitive)
- Removedansi-styles@2.2.1(transitive)
- Removedassert-plus@0.2.0(transitive)
- Removedaws-sign2@0.6.0(transitive)
- Removedbl@1.1.2(transitive)
- Removedboom@2.10.1(transitive)
- Removedcaseless@0.11.0(transitive)
- Removedchalk@1.1.3(transitive)
- Removedcommander@2.20.3(transitive)
- Removedcore-util-is@1.0.3(transitive)
- Removedcryptiles@2.0.5(transitive)
- Removedescape-string-regexp@1.0.5(transitive)
- Removedform-data@1.0.1(transitive)
- Removedgenerate-function@2.3.1(transitive)
- Removedgenerate-object-property@1.2.0(transitive)
- Removedhar-validator@2.0.6(transitive)
- Removedhas-ansi@2.0.0(transitive)
- Removedhawk@3.1.3(transitive)
- Removedhoek@2.16.3(transitive)
- Removedhttp-signature@1.1.1(transitive)
- Removedinherits@2.0.4(transitive)
- Removedis-my-ip-valid@1.0.1(transitive)
- Removedis-my-json-valid@2.20.6(transitive)
- Removedis-property@1.0.2(transitive)
- Removedisarray@1.0.0(transitive)
- Removedjsonpointer@5.0.1(transitive)
- Removednode-uuid@1.4.8(transitive)
- Removedoauth-sign@0.8.2(transitive)
- Removedoniyi-logger@0.4.2(transitive)
- Removedpinkie@2.0.4(transitive)
- Removedpinkie-promise@2.0.1(transitive)
- Removedprocess-nextick-args@1.0.7(transitive)
- Removedqs@6.2.4(transitive)
- Removedreadable-stream@2.0.6(transitive)
- Removedrequest@2.74.0(transitive)
- Removedsntp@1.0.9(transitive)
- Removedstring_decoder@0.10.31(transitive)
- Removedstringstream@0.0.6(transitive)
- Removedstrip-ansi@3.0.1(transitive)
- Removedsupports-color@2.0.0(transitive)
- Removedtough-cookie@2.3.1(transitive)
- Removedtunnel-agent@0.4.3(transitive)
- Removedutil-deprecate@1.0.2(transitive)
- Removedxtend@4.0.2(transitive)
Updatedoniyi-logger@^1.0.0
Updatedrequest@^2.78.0
Updatedtough-cookie@^2.3.2