diff --git a/src/acme2.js b/src/acme2.js index b8cd7b15c..cda511ebf 100644 --- a/src/acme2.js +++ b/src/acme2.js @@ -47,16 +47,16 @@ function urlBase64Encode(string) { } function b64(str) { - var buf = Buffer.isBuffer(str) ? str : Buffer.from(str); + const buf = Buffer.isBuffer(str) ? str : Buffer.from(str); return urlBase64Encode(buf.toString('base64')); } function getModulus(pem) { assert(Buffer.isBuffer(pem)); - var stdout = safe.child_process.execSync('openssl rsa -modulus -noout', { input: pem, encoding: 'utf8' }); + const stdout = safe.child_process.execSync('openssl rsa -modulus -noout', { input: pem, encoding: 'utf8' }); if (!stdout) return null; - var match = stdout.match(/Modulus=([0-9a-fA-F]+)$/m); + const match = stdout.match(/Modulus=([0-9a-fA-F]+)$/m); if (!match) return null; return Buffer.from(match[1], 'hex'); } diff --git a/src/backuptask.js b/src/backuptask.js index 998eefa9f..caaed3613 100644 --- a/src/backuptask.js +++ b/src/backuptask.js @@ -64,7 +64,7 @@ function encryptFilePath(filePath, encryption) { assert.strictEqual(typeof filePath, 'string'); assert.strictEqual(typeof encryption, 'object'); - var encryptedParts = filePath.split('/').map(function (part) { + const encryptedParts = filePath.split('/').map(function (part) { let hmac = crypto.createHmac('sha256', Buffer.from(encryption.filenameHmacKey, 'hex')); const iv = hmac.update(part).digest().slice(0, 16); // iv has to be deterministic, for our sync (copy) logic to work const cipher = crypto.createCipheriv('aes-256-cbc', Buffer.from(encryption.filenameKey, 'hex'), iv); @@ -83,7 +83,7 @@ function decryptFilePath(filePath, encryption) { assert.strictEqual(typeof filePath, 'string'); assert.strictEqual(typeof encryption, 'object'); - let decryptedParts = []; + const decryptedParts = []; for (let part of filePath.split('/')) { part = part + Array(part.length % 4).join('='); // add back = padding part = part.replace(/-/g, '/'); // replace with '/' @@ -208,8 +208,8 @@ function createReadStream(sourceFile, encryption) { assert.strictEqual(typeof sourceFile, 'string'); assert.strictEqual(typeof encryption, 'object'); - var stream = fs.createReadStream(sourceFile); - var ps = progressStream({ time: 10000 }); // display a progress every 10 seconds + const stream = fs.createReadStream(sourceFile); + const ps = progressStream({ time: 10000 }); // display a progress every 10 seconds stream.on('error', function (error) { debug(`createReadStream: read stream error at ${sourceFile}`, error); @@ -236,8 +236,8 @@ function createWriteStream(destFile, encryption) { assert.strictEqual(typeof destFile, 'string'); assert.strictEqual(typeof encryption, 'object'); - var stream = fs.createWriteStream(destFile); - var ps = progressStream({ time: 10000 }); // display a progress every 10 seconds + const stream = fs.createWriteStream(destFile); + const ps = progressStream({ time: 10000 }); // display a progress every 10 seconds stream.on('error', function (error) { debug(`createWriteStream: write stream error ${destFile}`, error); @@ -270,7 +270,7 @@ function tarPack(dataLayout, encryption, callback) { assert.strictEqual(typeof encryption, 'object'); assert.strictEqual(typeof callback, 'function'); - var pack = tar.pack('/', { + const pack = tar.pack('/', { dereference: false, // pack the symlink and not what it points to entries: dataLayout.localPaths(), ignoreStatError: (path, err) => { @@ -287,8 +287,8 @@ function tarPack(dataLayout, encryption, callback) { strict: false // do not error for unknown types (skip fifo, char/block devices) }); - var gzip = zlib.createGzip({}); - var ps = progressStream({ time: 10000 }); // emit 'progress' every 10 seconds + const gzip = zlib.createGzip({}); + const ps = progressStream({ time: 10000 }); // emit 'progress' every 10 seconds pack.on('error', function (error) { debug('tarPack: tar stream error.', error); @@ -349,7 +349,7 @@ function sync(backupConfig, remotePath, dataLayout, progressCallback, callback) if (task.operation === 'add') { progressCallback({ message: `Adding ${task.path}` + (retryCount > 1 ? ` (Try ${retryCount})` : '') }); debug(`Adding ${task.path} position ${task.position} try ${retryCount}`); - var stream = createReadStream(dataLayout.toLocalPath('./' + task.path), backupConfig.encryption); + const stream = createReadStream(dataLayout.toLocalPath('./' + task.path), backupConfig.encryption); stream.on('error', (error) => retryCallback(error.message.includes('ENOENT') ? null : error)); // ignore error if file disappears stream.on('progress', function (progress) { const transferred = Math.round(progress.transferred/1024/1024), speed = Math.round(progress.speed/1024/1024); @@ -456,9 +456,9 @@ function tarExtract(inStream, dataLayout, encryption, callback) { assert.strictEqual(typeof encryption, 'object'); assert.strictEqual(typeof callback, 'function'); - var gunzip = zlib.createGunzip({}); - var ps = progressStream({ time: 10000 }); // display a progress every 10 seconds - var extract = tar.extract('/', { + const gunzip = zlib.createGunzip({}); + const ps = progressStream({ time: 10000 }); // display a progress every 10 seconds + const extract = tar.extract('/', { map: function (header) { header.name = dataLayout.toLocalPath(header.name); return header; @@ -512,9 +512,9 @@ async function restoreFsMetadata(dataLayout, metadataFile) { debug(`Recreating empty directories in ${dataLayout.toString()}`); - var metadataJson = safe.fs.readFileSync(metadataFile, 'utf8'); + const metadataJson = safe.fs.readFileSync(metadataFile, 'utf8'); if (metadataJson === null) throw new BoxError(BoxError.EXTERNAL_ERROR, 'Error loading fsmetadata.json:' + safe.error.message); - var metadata = safe.JSON.parse(metadataJson); + const metadata = safe.JSON.parse(metadataJson); if (metadata === null) throw new BoxError(BoxError.EXTERNAL_ERROR, 'Error parsing fsmetadata.json:' + safe.error.message); for (const emptyDir of metadata.emptyDirs) { diff --git a/src/cloudron.js b/src/cloudron.js index e8295e0c2..2392fc287 100644 --- a/src/cloudron.js +++ b/src/cloudron.js @@ -218,7 +218,7 @@ async function getLogs(unit, options) { assert.strictEqual(typeof options.format, 'string'); assert.strictEqual(typeof options.follow, 'boolean'); - var lines = options.lines === -1 ? '+1' : options.lines, + const lines = options.lines === -1 ? '+1' : options.lines, format = options.format || 'json', follow = options.follow; diff --git a/src/dns.js b/src/dns.js index 938eb628f..3f793f05a 100644 --- a/src/dns.js +++ b/src/dns.js @@ -84,7 +84,7 @@ function validateHostname(subdomain, domainObject) { if (hostname === settings.dashboardFqdn()) return new BoxError(BoxError.BAD_FIELD, `subdomain '${subdomain}' is reserved`); // workaround https://github.com/oncletom/tld.js/issues/73 - var tmp = hostname.replace('_', '-'); + const tmp = hostname.replace('_', '-'); if (!tld.isValid(tmp)) return new BoxError(BoxError.BAD_FIELD, 'Hostname is not a valid domain name'); if (hostname.length > 253) return new BoxError(BoxError.BAD_FIELD, 'Hostname length exceeds 253 characters'); diff --git a/src/dns/namecheap.js b/src/dns/namecheap.js index 15ff72dd8..0388bad11 100644 --- a/src/dns/namecheap.js +++ b/src/dns/namecheap.js @@ -90,7 +90,7 @@ async function setZone(domainConfig, zoneName, hosts) { // Map to query params https://www.namecheap.com/support/api/methods/domains-dns/set-hosts.aspx hosts.forEach(function (host, i) { - var n = i+1; // api starts with 1 not 0 + const n = i+1; // api starts with 1 not 0 query['TTL' + n] = '300'; // keep it low query['HostName' + n] = host.HostName || host.Name; query['RecordType' + n] = host.RecordType || host.Type; diff --git a/src/docker.js b/src/docker.js index 6d61737e8..de56be281 100644 --- a/src/docker.js +++ b/src/docker.js @@ -117,7 +117,7 @@ async function pullImage(manifest) { // https://github.com/dotcloud/docker/issues/1074 says each status message // is emitted as a chunk stream.on('data', function (chunk) { - var data = safe.JSON.parse(chunk) || { }; + const data = safe.JSON.parse(chunk) || { }; debug('pullImage: %j', data); // The data.status here is useless because this is per layer as opposed to per image diff --git a/src/dockerproxy.js b/src/dockerproxy.js index cc18696b1..27365e82f 100644 --- a/src/dockerproxy.js +++ b/src/dockerproxy.js @@ -41,7 +41,7 @@ async function authorizeApp(req, res, next) { } function attachDockerRequest(req, res, next) { - var options = { + const options = { socketPath: '/var/run/docker.sock', method: req.method, path: req.url, @@ -143,8 +143,8 @@ async function start() { // eslint-disable-next-line no-unused-vars gHttpServer.on('upgrade', function (req, client, head) { // Create a new tcp connection to the TCP server - var remote = net.connect('/var/run/docker.sock', function () { - var upgradeMessage = req.method + ' ' + req.url + ' HTTP/1.1\r\n' + + const remote = net.connect('/var/run/docker.sock', function () { + let upgradeMessage = req.method + ' ' + req.url + ' HTTP/1.1\r\n' + `Host: ${req.headers.host}\r\n` + 'Connection: Upgrade\r\n' + 'Upgrade: tcp\r\n'; diff --git a/src/domains.js b/src/domains.js index 9b678bc19..c8f287e11 100644 --- a/src/domains.js +++ b/src/domains.js @@ -298,13 +298,13 @@ async function clear() { // removes all fields that are strictly private and should never be returned by API calls function removePrivateFields(domain) { - var result = _.pick(domain, 'domain', 'zoneName', 'provider', 'config', 'tlsConfig', 'fallbackCertificate', 'wellKnown'); + const result = _.pick(domain, 'domain', 'zoneName', 'provider', 'config', 'tlsConfig', 'fallbackCertificate', 'wellKnown'); return api(result.provider).removePrivateFields(result); } // removes all fields that are not accessible by a normal user function removeRestrictedFields(domain) { - var result = _.pick(domain, 'domain', 'zoneName', 'provider'); + const result = _.pick(domain, 'domain', 'zoneName', 'provider'); result.config = {}; // always ensure config object diff --git a/src/ldap.js b/src/ldap.js index 783bea51f..9de4d4391 100644 --- a/src/ldap.js +++ b/src/ldap.js @@ -21,7 +21,7 @@ const addonConfigs = require('./addonconfigs.js'), users = require('./users.js'), util = require('util'); -var gServer = null; +let gServer = null; const NOOP = function () {}; @@ -113,13 +113,13 @@ function finalSend(results, req, res, next) { if (cookie && Buffer.isBuffer(cookie)) { // we have pagination - var first = min; + let first = min; if (cookie.length !== 0) { first = parseInt(cookie.toString(), 10); } - var last = sendPagedResults(first, first + pageSize); + const last = sendPagedResults(first, first + pageSize); - var resultCookie; + let resultCookie; if (last < max) { resultCookie = Buffer.from(last.toString()); } else { @@ -295,7 +295,7 @@ async function groupAdminsCompare(req, res, next) { // we only support memberuid here, if we add new group attributes later add them here if (req.attribute === 'memberuid') { - var user = result.find(function (u) { return u.id === req.value; }); + const user = result.find(function (u) { return u.id === req.value; }); if (user && users.compareRoles(user.role, users.ROLE_ADMIN) >= 0) return res.end(true); } diff --git a/src/locker.js b/src/locker.js index ff71238df..ede417256 100644 --- a/src/locker.js +++ b/src/locker.js @@ -1,6 +1,6 @@ 'use strict'; -var assert = require('assert'), +const assert = require('assert'), BoxError = require('./boxerror.js'), debug = require('debug')('box:locker'), EventEmitter = require('events').EventEmitter, @@ -32,8 +32,7 @@ Locker.prototype.lock = function (operation) { this._operation = operation; ++this._lockDepth; this._timestamp = new Date(); - var that = this; - this._watcherId = setInterval(function () { debug('Lock unreleased %s', that._operation); }, 1000 * 60 * 5); + this._watcherId = setInterval(() => { debug('Lock unreleased %s', this._operation); }, 1000 * 60 * 5); debug('Acquired : %s', this._operation); diff --git a/src/mail.js b/src/mail.js index 1d144fd0b..e0c25e68c 100644 --- a/src/mail.js +++ b/src/mail.js @@ -360,9 +360,9 @@ async function checkMx(domain, mailFqdn) { } function txtToDict(txt) { - var dict = {}; + const dict = {}; txt.split(';').forEach(function(v) { - var p = v.trim().split('='); + const p = v.trim().split('='); dict[p[0]]=p[1]; }); return dict; diff --git a/src/middleware/cors.js b/src/middleware/cors.js index b99493bfb..bae762066 100644 --- a/src/middleware/cors.js +++ b/src/middleware/cors.js @@ -2,7 +2,7 @@ 'use strict'; -var url = require('url'); +const url = require('url'); /* * CORS middleware @@ -11,19 +11,19 @@ var url = require('url'); */ module.exports = function cors(options) { options = options || { }; - var maxAge = options.maxAge || 60 * 60 * 25 * 5; // 5 days - var origins = options.origins || [ '*' ]; - var allowCredentials = options.allowCredentials || false; // cookies + const maxAge = options.maxAge || 60 * 60 * 25 * 5; // 5 days + const origins = options.origins || [ '*' ]; + const allowCredentials = options.allowCredentials || false; // cookies return function (req, res, next) { - var requestOrigin = req.headers.origin; + let requestOrigin = req.headers.origin; if (!requestOrigin) return next(); requestOrigin = url.parse(requestOrigin); if (!requestOrigin.host) return res.status(405).send('CORS not allowed from this domain'); - var hostname = requestOrigin.host.split(':')[0]; // remove any port - var originAllowed = origins.some(function (o) { return o === '*' || o === hostname; }); + const hostname = requestOrigin.host.split(':')[0]; // remove any port + const originAllowed = origins.some(function (o) { return o === '*' || o === hostname; }); if (!originAllowed) { return res.status(405).send('CORS not allowed from this domain'); } diff --git a/src/middleware/multipart.js b/src/middleware/multipart.js index 9d1ca6216..3c36e634a 100644 --- a/src/middleware/multipart.js +++ b/src/middleware/multipart.js @@ -2,19 +2,19 @@ 'use strict'; -var multiparty = require('multiparty'), +const multiparty = require('multiparty'), timeout = require('connect-timeout'); function _mime(req) { - var str = req.headers['content-type'] || ''; - return str.split(';')[0]; + const str = req.headers['content-type'] || ''; + return str.split(';')[0]; } module.exports = function multipart(options) { return function (req, res, next) { if (_mime(req) !== 'multipart/form-data') return res.status(400).send('Invalid content-type. Expecting multipart'); - var form = new multiparty.Form({ + const form = new multiparty.Form({ uploadDir: '/tmp', keepExtensions: true, maxFieldsSize: options.maxFieldsSize || (2 * 1024), // only field size, not files @@ -29,7 +29,7 @@ module.exports = function multipart(options) { req.fields = { }; req.files = { }; - form.parse(req, function (err, fields, files) { + form.parse(req, function (err /*, fields, files */) { if (err) return res.status(400).send('Error parsing request'); next(null); }); diff --git a/src/paths.js b/src/paths.js index 1072e86ef..b74a2d345 100644 --- a/src/paths.js +++ b/src/paths.js @@ -1,6 +1,6 @@ 'use strict'; -var constants = require('./constants.js'), +const constants = require('./constants.js'), path = require('path'); function baseDir() { diff --git a/src/routes/apps.js b/src/routes/apps.js index 9367411ba..d3de6adf8 100644 --- a/src/routes/apps.js +++ b/src/routes/apps.js @@ -519,7 +519,7 @@ async function clone(req, res, next) { assert.strictEqual(typeof req.body, 'object'); assert.strictEqual(typeof req.app, 'object'); - var data = req.body; + const data = req.body; if (typeof data.backupId !== 'string') return next(new HttpError(400, 'backupId must be a string')); if (typeof data.subdomain !== 'string') return next(new HttpError(400, 'subdomain is required')); @@ -644,7 +644,7 @@ async function getLogStream(req, res, next) { res.write('retry: 3000\n'); res.on('close', logStream.close); logStream.on('data', function (data) { - var obj = JSON.parse(data); + const obj = JSON.parse(data); res.write(sse(obj.realtimeTimestamp, JSON.stringify(obj))); // send timestamp as id }); logStream.on('end', res.end.bind(res)); @@ -676,19 +676,19 @@ async function getLogs(req, res, next) { } function demuxStream(stream, stdin) { - var header = null; + let header = null; stream.on('readable', function() { header = header || stream.read(4); while (header !== null) { - var length = header.readUInt32BE(0); + const length = header.readUInt32BE(0); if (length === 0) { header = null; return stdin.end(); // EOF } - var payload = stream.read(length); + const payload = stream.read(length); if (payload === null) break; stdin.write(payload); diff --git a/src/routes/cloudron.js b/src/routes/cloudron.js index 0c6b9b665..56b42daaa 100644 --- a/src/routes/cloudron.js +++ b/src/routes/cloudron.js @@ -253,7 +253,7 @@ async function getLogStream(req, res, next) { res.write('retry: 3000\n'); res.on('close', logStream.close); logStream.on('data', function (data) { - var obj = JSON.parse(data); + const obj = JSON.parse(data); res.write(sse(obj.monotonicTimestamp, JSON.stringify(obj))); // send timestamp as id }); logStream.on('end', res.end.bind(res)); diff --git a/src/routes/graphs.js b/src/routes/graphs.js index 6ce26d453..e474f4429 100644 --- a/src/routes/graphs.js +++ b/src/routes/graphs.js @@ -4,7 +4,7 @@ exports = module.exports = { getGraphs }; -var middleware = require('../middleware/index.js'), +const middleware = require('../middleware/index.js'), HttpError = require('connect-lastmile').HttpError, url = require('url'); @@ -13,7 +13,7 @@ var middleware = require('../middleware/index.js'), const graphiteProxy = middleware.proxy(url.parse('http://127.0.0.1:8417')); function getGraphs(req, res, next) { - var parsedUrl = url.parse(req.url, true /* parseQueryString */); + const parsedUrl = url.parse(req.url, true /* parseQueryString */); delete parsedUrl.query['access_token']; delete req.headers['authorization']; delete req.headers['cookies']; diff --git a/src/routes/mail.js b/src/routes/mail.js index 8a7c3f7a7..a360cc3b6 100644 --- a/src/routes/mail.js +++ b/src/routes/mail.js @@ -307,7 +307,7 @@ async function updateList(req, res, next) { if (!Array.isArray(req.body.members)) return next(new HttpError(400, 'members must be a string')); if (req.body.members.length === 0) return next(new HttpError(400, 'list must have atleast one member')); - for (var i = 0; i < req.body.members.length; i++) { + for (let i = 0; i < req.body.members.length; i++) { if (typeof req.body.members[i] !== 'string') return next(new HttpError(400, 'member must be a string')); } if (typeof req.body.membersOnly !== 'boolean') return next(new HttpError(400, 'membersOnly must be a boolean')); diff --git a/src/routes/services.js b/src/routes/services.js index d29a79c29..38ac6a589 100644 --- a/src/routes/services.js +++ b/src/routes/services.js @@ -107,7 +107,7 @@ async function getLogStream(req, res, next) { res.write('retry: 3000\n'); res.on('close', logStream.close); logStream.on('data', function (data) { - var obj = JSON.parse(data); + const obj = JSON.parse(data); res.write(sse(obj.monotonicTimestamp, JSON.stringify(obj))); // send timestamp as id }); logStream.on('end', res.end.bind(res)); diff --git a/src/routes/tasks.js b/src/routes/tasks.js index 76267d959..0dbd3bb06 100644 --- a/src/routes/tasks.js +++ b/src/routes/tasks.js @@ -104,7 +104,7 @@ async function getLogStream(req, res, next) { res.write('retry: 3000\n'); res.on('close', logStream.close); logStream.on('data', function (data) { - var obj = JSON.parse(data); + const obj = JSON.parse(data); res.write(sse(obj.monotonicTimestamp, JSON.stringify(obj))); // send timestamp as id }); logStream.on('end', res.end.bind(res)); diff --git a/src/server.js b/src/server.js index 6ce4d7e42..598729765 100644 --- a/src/server.js +++ b/src/server.js @@ -351,7 +351,7 @@ function initializeExpressSync() { // upgrade handler httpServer.on('upgrade', function (req, socket, head) { // create a node response object for express - var res = new http.ServerResponse({}); + const res = new http.ServerResponse({}); res.assignSocket(socket); if (req.headers.upgrade === 'websocket') { diff --git a/src/services.js b/src/services.js index d776d06d4..1fd27af12 100644 --- a/src/services.js +++ b/src/services.js @@ -1101,7 +1101,7 @@ async function teardownRecvMail(app, options) { function mysqlDatabaseName(appId) { assert.strictEqual(typeof appId, 'string'); - var md5sum = crypto.createHash('md5'); // get rid of "-" + const md5sum = crypto.createHash('md5'); // get rid of "-" md5sum.update(appId); return md5sum.digest('hex').substring(0, 16); // max length of mysql usernames is 16 } diff --git a/src/syncer.js b/src/syncer.js index f4f8ad73a..ce9e07a31 100644 --- a/src/syncer.js +++ b/src/syncer.js @@ -1,6 +1,6 @@ 'use strict'; -var assert = require('assert'), +const assert = require('assert'), async = require('async'), BoxError = require('./boxerror.js'), DataLayout = require('./datalayout.js'), @@ -17,9 +17,9 @@ exports = module.exports = { function readCache(cacheFile) { assert.strictEqual(typeof cacheFile, 'string'); - var cache = safe.fs.readFileSync(cacheFile, 'utf8'); + const cache = safe.fs.readFileSync(cacheFile, 'utf8'); if (!cache) return [ ]; - var result = cache.trim().split('\n').map(JSON.parse); + const result = cache.trim().split('\n').map(JSON.parse); return result; } @@ -69,12 +69,12 @@ function sync(dataLayout, taskProcessor, concurrency, callback) { assert.strictEqual(typeof concurrency, 'number'); assert.strictEqual(typeof callback, 'function'); - var curCacheIndex = 0, addQueue = [ ], delQueue = [ ]; + let curCacheIndex = 0, addQueue = [ ], delQueue = [ ]; - var cacheFile = path.join(paths.BACKUP_INFO_DIR, dataLayout.getBasename() + '.sync.cache'), + const cacheFile = path.join(paths.BACKUP_INFO_DIR, dataLayout.getBasename() + '.sync.cache'), newCacheFile = path.join(paths.BACKUP_INFO_DIR, dataLayout.getBasename() + '.sync.cache.new'); - var cache = [ ]; + let cache = [ ]; // if cache is missing or if we crashed/errored in previous run, start out empty. TODO: do a remote listDir and rebuild if (!safe.fs.existsSync(cacheFile)) { @@ -85,11 +85,11 @@ function sync(dataLayout, taskProcessor, concurrency, callback) { cache = readCache(cacheFile); } - var newCacheFd = safe.fs.openSync(newCacheFile, 'w'); // truncates any existing file + const newCacheFd = safe.fs.openSync(newCacheFile, 'w'); // truncates any existing file if (newCacheFd === -1) return callback(new BoxError(BoxError.FS_ERROR, 'Error opening new cache file: ' + safe.error.message)); function advanceCache(entryPath) { - var lastRemovedDir = null; + let lastRemovedDir = null; for (; curCacheIndex !== cache.length && (entryPath === '' || cache[curCacheIndex].path < entryPath); ++curCacheIndex) { // ignore subdirs of lastRemovedDir since it was removed already diff --git a/src/tasks.js b/src/tasks.js index 0c7de65b9..698d782bc 100644 --- a/src/tasks.js +++ b/src/tasks.js @@ -308,8 +308,7 @@ function getLogs(taskId, options) { // removes all fields that are strictly private and should never be returned by API calls function removePrivateFields(task) { - var result = _.pick(task, 'id', 'type', 'percent', 'message', 'error', 'active', 'pending', 'creationTime', 'result', 'ts', 'success'); - return result; + return _.pick(task, 'id', 'type', 'percent', 'message', 'error', 'active', 'pending', 'creationTime', 'result', 'ts', 'success'); } async function del(id) { diff --git a/src/userdirectory.js b/src/userdirectory.js index 6b30ae743..f468bb714 100644 --- a/src/userdirectory.js +++ b/src/userdirectory.js @@ -28,7 +28,7 @@ const assert = require('assert'), util = require('util'), validator = require('validator'); -var gServer = null; +let gServer = null; const NOOP = function () {}; @@ -99,13 +99,13 @@ function finalSend(results, req, res, next) { if (cookie && Buffer.isBuffer(cookie)) { // we have pagination - var first = min; + let first = min; if (cookie.length !== 0) { first = parseInt(cookie.toString(), 10); } - var last = sendPagedResults(first, first + pageSize); + const last = sendPagedResults(first, first + pageSize); - var resultCookie; + let resultCookie; if (last < max) { resultCookie = Buffer.from(last.toString()); } else {