diff --git a/natsClient.js b/natsClient.js index 29b9616..6eac326 100644 --- a/natsClient.js +++ b/natsClient.js @@ -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'); -}