Added Url Parameters support for Invidious, Piped https://github.com/libredirect/libredirect/issues/491
This commit is contained in:
parent
c702c1d469
commit
2a738e883c
|
@ -97,6 +97,9 @@ function redirect(url, type, initiator, forceRedirection) {
|
|||
break
|
||||
}
|
||||
if (!frontend || !randomInstance) return
|
||||
let randomInstanceURL = new URL(randomInstance);
|
||||
let allParams = randomInstanceURL.searchParams
|
||||
url.searchParams.forEach((value, key) => allParams.append(key, value))
|
||||
|
||||
// Here is a (temperory) space for defining constants required in 2 or more switch cases.
|
||||
// When possible, try have the two switch cases share all their code as done with searx and searxng.
|
||||
|
@ -116,7 +119,6 @@ function redirect(url, type, initiator, forceRedirection) {
|
|||
}
|
||||
return [zoom, lon, lat]
|
||||
}
|
||||
console.log(frontend)
|
||||
switch (frontend) {
|
||||
// This is where all instance-specific code must be ran to convert the service url to one that can be understood by the frontend.
|
||||
case "beatbump":
|
||||
|
@ -447,8 +449,11 @@ function redirect(url, type, initiator, forceRedirection) {
|
|||
return `${randomInstance}${url.pathname}${url.search}`
|
||||
case "simpleertube":
|
||||
return `${randomInstance}/${url.hostname}${url.pathname}${url.search}`
|
||||
case "invidious":
|
||||
case "piped":
|
||||
return `${utils.protocolHost(randomInstanceURL)}${url.pathname}?${allParams.toString()}`
|
||||
default:
|
||||
return `${randomInstance}${url.pathname}${url.search} `
|
||||
return `${randomInstance}${url.pathname}${url.search}`
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -188,7 +188,7 @@ async function processDefaultCustomInstances(service, frontend, network, documen
|
|||
event.preventDefault()
|
||||
let frontendCustomInstanceInput = frontendNetworkElement.getElementsByClassName("custom-instance")[0]
|
||||
let url = new URL(frontendCustomInstanceInput.value)
|
||||
let protocolHostVar = protocolHost(url)
|
||||
let protocolHostVar = url.href
|
||||
if (frontendCustomInstanceInput.validity.valid && !redirects[frontend][network].includes(protocolHostVar)) {
|
||||
if (!frontendCustomInstances.includes(protocolHostVar)) {
|
||||
frontendCustomInstances.push(protocolHostVar)
|
||||
|
|
Loading…
Reference in New Issue