From 77a609758bb80bac9497d2e3988550f8be578407 Mon Sep 17 00:00:00 2001 From: Rory& Date: Mon, 23 Feb 2026 02:03:20 +0100 Subject: Initial commit --- .../Implementations/JSPatches/ApiProtocolPatch.cs | 32 ++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 ReferenceClientProxyImplementation/Patches/Implementations/JSPatches/ApiProtocolPatch.cs (limited to 'ReferenceClientProxyImplementation/Patches/Implementations/JSPatches/ApiProtocolPatch.cs') diff --git a/ReferenceClientProxyImplementation/Patches/Implementations/JSPatches/ApiProtocolPatch.cs b/ReferenceClientProxyImplementation/Patches/Implementations/JSPatches/ApiProtocolPatch.cs new file mode 100644 index 0000000..6e7f7a2 --- /dev/null +++ b/ReferenceClientProxyImplementation/Patches/Implementations/JSPatches/ApiProtocolPatch.cs @@ -0,0 +1,32 @@ +using System.Text; + +namespace ReferenceClientProxyImplementation.Patches.Implementations.JSPatches; + +public class ApiProtocolPatch : IPatch { + public int GetOrder() => 0; + + public string GetName() => "API: Use GLOBAL_ENV.API_PROTOCOL instead of hardcoded https:"; + public bool Applies(string relativeName, byte[] content) => relativeName.EndsWith(".js"); + + public async Task Execute(string _, byte[] content) { + var stringContent = Encoding.UTF8.GetString(content); + + // TODO: regex + stringContent = stringContent + .Replace( + "return \"https:\" + window.GLOBAL_ENV.API_ENDPOINT + (e ? \"/v\".concat(window.GLOBAL_ENV.API_VERSION) : \"\");", + "return window.GLOBAL_ENV.API_PROTOCOL + window.GLOBAL_ENV.API_ENDPOINT + (e ? \"/v\".concat(window.GLOBAL_ENV.API_VERSION) : \"\");" + ) + .Replace( + "api_endpoint: \"\".concat(\"https:\").concat(window.GLOBAL_ENV.API_ENDPOINT)", + "api_endpoint: window.GLOBAL_ENV.API_PROTOCOL.concat(window.GLOBAL_ENV.API_ENDPOINT)" + ) + .Replace( + "f = null != d ? \"https://\".concat(d) : location.protocol + window.GLOBAL_ENV.API_ENDPOINT,", + "f = null != d ? window.GLOBAL_ENV.API_PROTOCOL.concat(d) : location.protocol + window.GLOBAL_ENV.API_ENDPOINT," + ) + ; + + return Encoding.UTF8.GetBytes(stringContent); + } +} \ No newline at end of file -- cgit 1.5.1