Merge pull request #13 from Microsoft/repeek/FixBugInUrlSanitization

Fix crash during parsing of query string
This commit is contained in:
Regan Peek 2018-06-27 15:04:19 -07:00 коммит произвёл GitHub
Родитель 9fc8c9f437 32569c8b7e
Коммит 3048da0277
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
1 изменённых файлов: 27 добавлений и 1 удалений

Просмотреть файл

@ -60,7 +60,33 @@ export default class harServerUrl {
}
private SanitizeUrl(parsedUrl) {
var query = parsedUrl.query;
function parseQuery(query: string): Object {
var parsedQuery: Array<string | string> = [];
var params: string[] = query.split('&');
for (var i=0; i<params.length; i++) {
var param: string = params[i];
var keyValue: string[] = param.split('=');
var key = keyValue[0];
var value = keyValue[1];
if (!parsedQuery[key]) {
parsedQuery[key] = value;
}
else {
parsedQuery[key] += ',' + value;
}
}
return parsedQuery;
}
try {
this.queryParams = queryString.parse(parsedUrl.query);
}
catch { // backup method that won't throw 'malformed URI' exception
this.queryParams = parseQuery(parsedUrl.query);
}
var queryParamsToIgnore = this.config.QueryParamsToIgnore.split(',');
queryParamsToIgnore.push('harfileid');