making use of the URL object in the existing tests

This commit is contained in:
El RIDO 2019-06-20 22:30:49 +02:00
parent 1958a55651
commit 50cc6995e0
No known key found for this signature in database
GPG key ID: 0F5C940A6BD81F92
5 changed files with 17 additions and 25 deletions

View file

@ -1196,30 +1196,20 @@ jQuery.PrivateBin = (function($, RawDeflate) {
}
// do use URL interface, if possible
if (window.URL && window.URL.prototype && ('searchParams' in window.URL.prototype)) {
try {
const url = new URL(window.location);
const url = new URL(window.location);
for (const param of url.searchParams) {
const key = param[0];
const value = param[1];
for (const param of url.searchParams) {
const key = param[0];
const value = param[1];
if (value === '' && idRegEx.test(key)) {
// safe, as the whole regex is matched
id = key;
return id;
}
}
} catch (e) {
// fallback below
console.error('URL interface not properly supported, error:', e);
if (value === '' && idRegEx.test(key)) {
// safe, as the whole regex is matched
id = key;
return key;
}
}
// Attention: This also returns the delete token inside of the ID, if it is specified
id = (window.location.search.match(idRegExFind) || [''])[0];
if (id === '') {
if (id === null) {
throw 'no paste id given';
}
@ -4587,7 +4577,7 @@ jQuery.PrivateBin = (function($, RawDeflate) {
*/
function isInsecureConnection()
{
const url = new URL(document.URL);
const url = new URL(window.location);
// HTTP is obviously insecure
if (url.protocol !== 'http:') {