diff --git a/.luacheckrc b/.luacheckrc deleted file mode 100644 index 074308f..0000000 --- a/.luacheckrc +++ /dev/null @@ -1,3 +0,0 @@ -globals = { - "unique_id" -} diff --git a/src/nats.lua b/src/nats.lua index a05e5f9..ccc3385 100644 --- a/src/nats.lua +++ b/src/nats.lua @@ -389,16 +389,17 @@ end function command.request(client, subject, payload, callback) local inbox = create_inbox() - unique_id = client:subscribe(inbox, function(message, reply) + local unique_id = uuid() + client:subscribe(inbox, function(message, reply) client:unsubscribe(unique_id) callback(message, reply) - end) + end, unique_id) client:publish(subject, payload, inbox) return unique_id, inbox end -function command.subscribe(client, subject, callback) - local unique_id = uuid() +function command.subscribe(client, subject, callback, unique_id) + unique_id = unique_id or uuid() request.raw(client, 'SUB '..subject..' '..unique_id..'\r\n') client.subscriptions[unique_id] = callback