Updated the Survey.
This commit is contained in:
parent
f59686eae0
commit
6d3ba1a714
1203 changed files with 140782 additions and 5 deletions
12
node_modules/got/source/utils/deep-freeze.js
generated
vendored
Normal file
12
node_modules/got/source/utils/deep-freeze.js
generated
vendored
Normal file
|
@ -0,0 +1,12 @@
|
|||
'use strict';
|
||||
const is = require('@sindresorhus/is');
|
||||
|
||||
module.exports = function deepFreeze(object) {
|
||||
for (const [key, value] of Object.entries(object)) {
|
||||
if (is.plainObject(value) || is.array(value)) {
|
||||
deepFreeze(object[key]);
|
||||
}
|
||||
}
|
||||
|
||||
return Object.freeze(object);
|
||||
};
|
32
node_modules/got/source/utils/get-body-size.js
generated
vendored
Normal file
32
node_modules/got/source/utils/get-body-size.js
generated
vendored
Normal file
|
@ -0,0 +1,32 @@
|
|||
'use strict';
|
||||
const fs = require('fs');
|
||||
const util = require('util');
|
||||
const is = require('@sindresorhus/is');
|
||||
const isFormData = require('./is-form-data');
|
||||
|
||||
module.exports = async options => {
|
||||
const {body} = options;
|
||||
|
||||
if (options.headers['content-length']) {
|
||||
return Number(options.headers['content-length']);
|
||||
}
|
||||
|
||||
if (!body && !options.stream) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (is.string(body)) {
|
||||
return Buffer.byteLength(body);
|
||||
}
|
||||
|
||||
if (isFormData(body)) {
|
||||
return util.promisify(body.getLength.bind(body))();
|
||||
}
|
||||
|
||||
if (body instanceof fs.ReadStream) {
|
||||
const {size} = await util.promisify(fs.stat)(body.path);
|
||||
return size;
|
||||
}
|
||||
|
||||
return null;
|
||||
};
|
4
node_modules/got/source/utils/is-form-data.js
generated
vendored
Normal file
4
node_modules/got/source/utils/is-form-data.js
generated
vendored
Normal file
|
@ -0,0 +1,4 @@
|
|||
'use strict';
|
||||
const is = require('@sindresorhus/is');
|
||||
|
||||
module.exports = body => is.nodeStream(body) && is.function(body.getBoundary);
|
160
node_modules/got/source/utils/timed-out.js
generated
vendored
Normal file
160
node_modules/got/source/utils/timed-out.js
generated
vendored
Normal file
|
@ -0,0 +1,160 @@
|
|||
'use strict';
|
||||
const net = require('net');
|
||||
|
||||
class TimeoutError extends Error {
|
||||
constructor(threshold, event) {
|
||||
super(`Timeout awaiting '${event}' for ${threshold}ms`);
|
||||
this.name = 'TimeoutError';
|
||||
this.code = 'ETIMEDOUT';
|
||||
this.event = event;
|
||||
}
|
||||
}
|
||||
|
||||
const reentry = Symbol('reentry');
|
||||
|
||||
const noop = () => {};
|
||||
|
||||
module.exports = (request, delays, options) => {
|
||||
/* istanbul ignore next: this makes sure timed-out isn't called twice */
|
||||
if (request[reentry]) {
|
||||
return;
|
||||
}
|
||||
|
||||
request[reentry] = true;
|
||||
|
||||
let stopNewTimeouts = false;
|
||||
|
||||
const addTimeout = (delay, callback, ...args) => {
|
||||
// An error had been thrown before. Going further would result in uncaught errors.
|
||||
// See https://github.com/sindresorhus/got/issues/631#issuecomment-435675051
|
||||
if (stopNewTimeouts) {
|
||||
return noop;
|
||||
}
|
||||
|
||||
// Event loop order is timers, poll, immediates.
|
||||
// The timed event may emit during the current tick poll phase, so
|
||||
// defer calling the handler until the poll phase completes.
|
||||
let immediate;
|
||||
const timeout = setTimeout(() => {
|
||||
immediate = setImmediate(callback, delay, ...args);
|
||||
/* istanbul ignore next: added in node v9.7.0 */
|
||||
if (immediate.unref) {
|
||||
immediate.unref();
|
||||
}
|
||||
}, delay);
|
||||
|
||||
/* istanbul ignore next: in order to support electron renderer */
|
||||
if (timeout.unref) {
|
||||
timeout.unref();
|
||||
}
|
||||
|
||||
const cancel = () => {
|
||||
clearTimeout(timeout);
|
||||
clearImmediate(immediate);
|
||||
};
|
||||
|
||||
cancelers.push(cancel);
|
||||
|
||||
return cancel;
|
||||
};
|
||||
|
||||
const {host, hostname} = options;
|
||||
const timeoutHandler = (delay, event) => {
|
||||
request.emit('error', new TimeoutError(delay, event));
|
||||
request.once('error', () => {}); // Ignore the `socket hung up` error made by request.abort()
|
||||
|
||||
request.abort();
|
||||
};
|
||||
|
||||
const cancelers = [];
|
||||
const cancelTimeouts = () => {
|
||||
stopNewTimeouts = true;
|
||||
cancelers.forEach(cancelTimeout => cancelTimeout());
|
||||
};
|
||||
|
||||
request.once('error', cancelTimeouts);
|
||||
request.once('response', response => {
|
||||
response.once('end', cancelTimeouts);
|
||||
});
|
||||
|
||||
if (delays.request !== undefined) {
|
||||
addTimeout(delays.request, timeoutHandler, 'request');
|
||||
}
|
||||
|
||||
if (delays.socket !== undefined) {
|
||||
const socketTimeoutHandler = () => {
|
||||
timeoutHandler(delays.socket, 'socket');
|
||||
};
|
||||
|
||||
request.setTimeout(delays.socket, socketTimeoutHandler);
|
||||
|
||||
// `request.setTimeout(0)` causes a memory leak.
|
||||
// We can just remove the listener and forget about the timer - it's unreffed.
|
||||
// See https://github.com/sindresorhus/got/issues/690
|
||||
cancelers.push(() => request.removeListener('timeout', socketTimeoutHandler));
|
||||
}
|
||||
|
||||
if (delays.lookup !== undefined && !request.socketPath && !net.isIP(hostname || host)) {
|
||||
request.once('socket', socket => {
|
||||
/* istanbul ignore next: hard to test */
|
||||
if (socket.connecting) {
|
||||
const cancelTimeout = addTimeout(delays.lookup, timeoutHandler, 'lookup');
|
||||
socket.once('lookup', cancelTimeout);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (delays.connect !== undefined) {
|
||||
request.once('socket', socket => {
|
||||
/* istanbul ignore next: hard to test */
|
||||
if (socket.connecting) {
|
||||
const timeConnect = () => addTimeout(delays.connect, timeoutHandler, 'connect');
|
||||
|
||||
if (request.socketPath || net.isIP(hostname || host)) {
|
||||
socket.once('connect', timeConnect());
|
||||
} else {
|
||||
socket.once('lookup', error => {
|
||||
if (error === null) {
|
||||
socket.once('connect', timeConnect());
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (delays.secureConnect !== undefined && options.protocol === 'https:') {
|
||||
request.once('socket', socket => {
|
||||
/* istanbul ignore next: hard to test */
|
||||
if (socket.connecting) {
|
||||
socket.once('connect', () => {
|
||||
const cancelTimeout = addTimeout(delays.secureConnect, timeoutHandler, 'secureConnect');
|
||||
socket.once('secureConnect', cancelTimeout);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (delays.send !== undefined) {
|
||||
request.once('socket', socket => {
|
||||
const timeRequest = () => addTimeout(delays.send, timeoutHandler, 'send');
|
||||
/* istanbul ignore next: hard to test */
|
||||
if (socket.connecting) {
|
||||
socket.once('connect', () => {
|
||||
request.once('upload-complete', timeRequest());
|
||||
});
|
||||
} else {
|
||||
request.once('upload-complete', timeRequest());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (delays.response !== undefined) {
|
||||
request.once('upload-complete', () => {
|
||||
const cancelTimeout = addTimeout(delays.response, timeoutHandler, 'response');
|
||||
request.once('response', cancelTimeout);
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
module.exports.TimeoutError = TimeoutError;
|
25
node_modules/got/source/utils/url-to-options.js
generated
vendored
Normal file
25
node_modules/got/source/utils/url-to-options.js
generated
vendored
Normal file
|
@ -0,0 +1,25 @@
|
|||
'use strict';
|
||||
const is = require('@sindresorhus/is');
|
||||
|
||||
module.exports = url => {
|
||||
const options = {
|
||||
protocol: url.protocol,
|
||||
hostname: url.hostname.startsWith('[') ? url.hostname.slice(1, -1) : url.hostname,
|
||||
hash: url.hash,
|
||||
search: url.search,
|
||||
pathname: url.pathname,
|
||||
href: url.href
|
||||
};
|
||||
|
||||
if (is.string(url.port) && url.port.length > 0) {
|
||||
options.port = Number(url.port);
|
||||
}
|
||||
|
||||
if (url.username || url.password) {
|
||||
options.auth = `${url.username}:${url.password}`;
|
||||
}
|
||||
|
||||
options.path = is.null(url.search) ? url.pathname : `${url.pathname}${url.search}`;
|
||||
|
||||
return options;
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue