diff --git a/services/real-time/test/acceptance/libs/XMLHttpRequest.js b/services/real-time/test/acceptance/libs/XMLHttpRequest.js index 21a60ad3bb..0222bc906b 100644 --- a/services/real-time/test/acceptance/libs/XMLHttpRequest.js +++ b/services/real-time/test/acceptance/libs/XMLHttpRequest.js @@ -11,7 +11,7 @@ * @license MIT */ -var Url = require('url') +const { URL } = require('url') var spawn = require('child_process').spawn var fs = require('fs') @@ -24,7 +24,6 @@ exports.XMLHttpRequest = function () { var https = require('https') // Holds http.js objects - var client var request var response @@ -147,8 +146,7 @@ exports.XMLHttpRequest = function () { // Check for valid request method if (!isAllowedHttpMethod(method)) { - throw 'SecurityError: Request method not allowed' - return + throw new Error('SecurityError: Request method not allowed') } settings = { @@ -169,15 +167,17 @@ exports.XMLHttpRequest = function () { * @param string value Header value */ this.setRequestHeader = function (header, value) { - if (this.readyState != this.OPENED) { - throw 'INVALID_STATE_ERR: setRequestHeader can only be called when state is OPEN' + if (this.readyState !== this.OPENED) { + throw new Error( + 'INVALID_STATE_ERR: setRequestHeader can only be called when state is OPEN' + ) } if (!isAllowedHttpHeader(header)) { console.warn('Refused to set unsafe header "' + header + '"') return } if (sendFlag) { - throw 'INVALID_STATE_ERR: send flag is true' + throw new Error('INVALID_STATE_ERR: send flag is true') } headers[header] = value } @@ -242,25 +242,29 @@ exports.XMLHttpRequest = function () { * @param string data Optional data to send as request body. */ this.send = function (data) { - if (this.readyState != this.OPENED) { - throw 'INVALID_STATE_ERR: connection must be opened before send() is called' + if (this.readyState !== this.OPENED) { + throw new Error( + 'INVALID_STATE_ERR: connection must be opened before send() is called' + ) } if (sendFlag) { - throw 'INVALID_STATE_ERR: send has already been called' + throw new Error('INVALID_STATE_ERR: send has already been called') } + var host var ssl = false var local = false - var url = Url.parse(settings.url) + var url = new URL(settings.url) // Determine the server switch (url.protocol) { case 'https:': ssl = true - // SSL & non-SSL both need host, no break here. + host = url.hostname + break case 'http:': - var host = url.hostname + host = url.hostname break case 'file:': @@ -269,17 +273,17 @@ exports.XMLHttpRequest = function () { case undefined: case '': - var host = 'localhost' + host = 'localhost' break default: - throw 'Protocol not supported.' + throw new Error('Protocol not supported.') } // Load files off the local filesystem (file://) if (local) { if (settings.method !== 'GET') { - throw 'XMLHttpRequest: Only GET method is supported' + throw new Error('XMLHttpRequest: Only GET method is supported') } if (settings.async) { @@ -322,7 +326,7 @@ exports.XMLHttpRequest = function () { if (typeof settings.password === 'undefined') { settings.password = '' } - var authBuf = new Buffer(settings.user + ':' + settings.password) + var authBuf = Buffer.from(settings.user + ':' + settings.password) headers.Authorization = 'Basic ' + authBuf.toString('base64') } @@ -443,8 +447,8 @@ exports.XMLHttpRequest = function () { (data ? "req.write('" + data.replace(/'/g, "\\'") + "');" : '') + 'req.end();' // Start the other Node Process, executing this string - syncProc = spawn(process.argv[0], ['-e', execString]) - while ((self.responseText = fs.readFileSync(syncFile, 'utf8')) == '') { + const syncProc = spawn(process.argv[0], ['-e', execString]) + while ((self.responseText = fs.readFileSync(syncFile, 'utf8')) === '') { // Wait while the file is empty } // Kill the child process once the file has data