Handle unescaped characters

This commit is contained in:
delvedor
2019-01-28 11:27:21 +01:00
parent 8e26dc874f
commit 55fc8d7388

View File

@ -6,6 +6,7 @@ const https = require('https')
const debug = require('debug')('elasticsearch')
const decompressResponse = require('decompress-response')
const pump = require('pump')
const INVALID_PATH_REGEX = /[^\u0021-\u00ff]/
const { TimeoutError, ConfigurationError } = require('./errors')
class Connection {
@ -44,8 +45,15 @@ class Connection {
this._openRequests++
var ended = false
const requestParams = this.buildRequestObject(params)
// https://github.com/nodejs/node/commit/b961d9fd83
if (INVALID_PATH_REGEX.test(requestParams.path) === true) {
callback(new TypeError(`ERR_UNESCAPED_CHARACTERS: ${requestParams.path}`), null)
return { abort: () => {} }
}
debug('Starting a new request', params)
const request = this.makeRequest(this.buildRequestObject(params))
const request = this.makeRequest(requestParams)
// listen for the response event
// TODO: handle redirects?