mirror of
https://gitlab.futo.org/videostreaming/grayjay.git
synced 2026-05-16 04:52:39 +02:00
Implemented support for isUrlAllowed in HttpImp.
This commit is contained in:
+1
@@ -23,6 +23,7 @@ import java.util.UUID
|
||||
class JSHttpClient : ManagedHttpClient {
|
||||
private val _jsClient: JSClient?;
|
||||
private val _jsConfig: SourcePluginConfig?;
|
||||
val config get() = _jsConfig
|
||||
private val _auth: SourceAuth?;
|
||||
private val _captcha: SourceCaptchaData?;
|
||||
|
||||
|
||||
@@ -17,6 +17,8 @@ import com.futo.platformplayer.api.media.platforms.js.SourcePluginConfig
|
||||
import com.futo.platformplayer.api.media.platforms.js.internal.JSHttpClient
|
||||
import com.futo.platformplayer.engine.IV8PluginConfig
|
||||
import com.futo.platformplayer.engine.V8Plugin
|
||||
import com.futo.platformplayer.engine.exceptions.ScriptException
|
||||
import com.futo.platformplayer.engine.exceptions.ScriptImplementationException
|
||||
import com.futo.platformplayer.engine.internal.IV8Convertable
|
||||
import com.futo.platformplayer.engine.internal.V8BindObject
|
||||
import com.futo.platformplayer.logging.Logger
|
||||
@@ -1048,13 +1050,19 @@ class PackageHttpImp : V8Package {
|
||||
useBuiltInHeadersOverride: Boolean? = null,
|
||||
timeoutMsOverride: Int? = null
|
||||
): Libcurl.Response {
|
||||
val client = _client
|
||||
if (client is JSHttpClient) {
|
||||
if (!(client.config?.isUrlAllowed(url) ?: false)) {
|
||||
throw Exception( "Attempted to access non-whitelisted url: $url\nAdd it to your config");
|
||||
}
|
||||
}
|
||||
|
||||
val finalImpersonateTarget = impersonateTargetOverride ?: this.impersonateTarget
|
||||
val finalUseBuiltInHeaders = useBuiltInHeadersOverride ?: this.useBuiltInHeaders
|
||||
val finalTimeoutMs = timeoutMsOverride ?: this.timeoutMs
|
||||
|
||||
val uri = url.toUri()
|
||||
val headers = hs.toMutableMap()
|
||||
val client = _client
|
||||
if (client is JSHttpClient) {
|
||||
client.applyHeaders(uri, headers, _client.isLoggedIn, true)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user