From 9d844bbf3ac6be327325b13a91a6b33f73c49c1d Mon Sep 17 00:00:00 2001 From: RblSb Date: Sun, 28 Apr 2024 07:23:25 +0300 Subject: Raw youtube fallback for unavailable videos Also: - fix `tryLocalIp` replacement (NAT workaround) - improve proxy headers a bit - use json2object fork for better generated diffs --- src/client/Main.hx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'src/client/Main.hx') diff --git a/src/client/Main.hx b/src/client/Main.hx index b1e0eb6..85db713 100644 --- a/src/client/Main.hx +++ b/src/client/Main.hx @@ -18,6 +18,7 @@ import js.html.Event; import js.html.InputElement; import js.html.KeyboardEvent; import js.html.MouseEvent; +import js.html.URL; import js.html.VideoElement; import js.html.WebSocket; @@ -387,7 +388,13 @@ class Main { public function tryLocalIp(url:String):String { if (host == globalIp) return url; - return url.replace(globalIp, host); + try { + final url = new URL(url); + url.hostname = url.hostname.replace(globalIp, host); + return '$url'; + } catch (e) { + return url; + } } function onMessage(e):Void { @@ -557,6 +564,9 @@ class Main { case Dump: Utils.saveFile("dump.json", ApplicationJson, data.dump.data); + + case GetYoutubeVideoInfo: + // handled by event listeners like `JsApi.once` } } -- cgit v1.2.3