This commit is contained in:
2026-06-05 11:26:51 +07:00
parent f5cf988421
commit b57403d373

View File

@@ -4,6 +4,12 @@ import msghandlerCSR from './msghandler-csr.js';
export const connectionStatus = writable(null);
let config = null;
export function setConfig(cfg) {
config = cfg;
}
connectionStatus.subscribe(status => {
console.log('[NATS] Status updated:', status);
});
@@ -15,7 +21,7 @@ let reconnectTimer = null;
let isDisconnecting = false;
export async function getNats(opts = {}) {
const servers = opts.servers || (import.meta.env.VITE_NATS_URL) || "wss://nats.yiem.cc";
const servers = opts.servers || (import.meta.env.VITE_NATS_URL) || (config?.nats_server_info?.url) || "wss://nats.yiem.cc";
console.log('[NATS] Connecting to:', servers);
try {
connectionStatus.set({ state: "connecting", message: `connecting to ${servers}` });
@@ -133,16 +139,17 @@ export async function closeNats() {
}
}
export async function connectNATS(brokerUrl, config) {
export async function connectNATS(brokerUrl, cfg) {
console.log('[NATS] Connecting with broker URL:', brokerUrl);
let serverUrl = brokerUrl;
if (!serverUrl && config) {
serverUrl = config?.nats_server_info?.url || 'wss://nats.yiem.cc';
if (!serverUrl && cfg) {
serverUrl = cfg?.nats_server_info?.url || 'wss://nats.yiem.cc';
}
console.log('[NATS] Using server URL:', serverUrl);
setConfig(cfg);
await getNats({ servers: serverUrl });
}
@@ -207,11 +214,12 @@ export async function sendMsghandlerRequest(subject, functioncall, args, config)
};
const brokerUrl = config?.nats_server_info?.url || 'wss://nats.yiem.cc';
const fileserverUrl = config?.file_server_url || 'http://localhost:8080';
const [envelope, envelopeJsonStr] = await msghandlerCSR.smartpack(
subject,
[["db_request", payload, "dictionary"]],
{ broker_url: brokerUrl }
{ broker_url: brokerUrl, fileserver_url: fileserverUrl }
);
console.log('[NATS] Request envelope created, sending...');
@@ -228,11 +236,3 @@ export async function sendMsghandlerRequest(subject, functioncall, args, config)
console.log('[NATS] Request successful:', data);
return data;
}
if (type === "text") {
console.error('[NATS] Error response:', data);
throw new Error(data);
}
}
throw new Error('No valid response found');
}