Fix local filetree navigation state and office proxy
This commit is contained in:
@@ -474,7 +474,16 @@ pub async fn page(Query(query): Query<OnlyOfficePageQuery>) -> Result<Response,
|
||||
url.host = origin.host;
|
||||
return url.toString();
|
||||
}}
|
||||
const isLocalFolderFileOpen = url.pathname === "/api/local-folder/files/open";
|
||||
const isLocal = ["127.0.0.1", "localhost", "host.docker.internal"].includes(url.hostname);
|
||||
if (proxyOrigin && isLocalFolderFileOpen) {{
|
||||
const origin = new URL(proxyOrigin);
|
||||
url.protocol = origin.protocol;
|
||||
url.host = origin.host;
|
||||
const proxy = new URL("/api/onlyoffice/proxy", proxyOrigin);
|
||||
proxy.searchParams.set("u", base64UrlEncodeUtf8(url.toString()));
|
||||
return proxy.toString();
|
||||
}}
|
||||
if (proxyOrigin && (isLocal || url.searchParams.has("token"))) {{
|
||||
const proxy = new URL("/api/onlyoffice/proxy", proxyOrigin);
|
||||
proxy.searchParams.set("u", base64UrlEncodeUtf8(url.toString()));
|
||||
@@ -1827,6 +1836,11 @@ mod tests {
|
||||
);
|
||||
assert!(html.contains("documentUrlBase,"));
|
||||
assert!(html.contains("resolvedFileUrl: fileState.resolvedFileUrl"));
|
||||
assert!(html.contains(
|
||||
r#"const isLocalFolderFileOpen = url.pathname === "/api/local-folder/files/open";"#
|
||||
));
|
||||
assert!(html.contains("if (proxyOrigin && isLocalFolderFileOpen)"));
|
||||
assert!(html.contains("if (proxyOrigin && (isLocal || url.searchParams.has(\"token\")))"));
|
||||
}
|
||||
|
||||
fn test_state(legacy_next_base_url: Option<String>) -> AppState {
|
||||
|
||||
Reference in New Issue
Block a user