diff options
| author | RblSb <msrblsb@gmail.com> | 2024-04-28 07:23:25 +0300 |
|---|---|---|
| committer | RblSb <msrblsb@gmail.com> | 2024-04-28 21:51:50 +0300 |
| commit | 9d844bbf3ac6be327325b13a91a6b33f73c49c1d (patch) | |
| tree | 52108f2300ca84decf33a1e7b3552e81166ba5ac /src/client/Main.hx | |
| parent | 8679f8edcb6d2f3142db30848c640aed6fe883b8 (diff) | |
Raw youtube fallback for unavailable videos
Also:
- fix `tryLocalIp` replacement (NAT workaround)
- improve proxy headers a bit
- use json2object fork for better generated diffs
Diffstat (limited to 'src/client/Main.hx')
| -rw-r--r-- | src/client/Main.hx | 12 |
1 files changed, 11 insertions, 1 deletions
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` } } |
