The membership is read by its subject #25
+5
-2
@@ -161,8 +161,11 @@ export async function connectNats(
|
|||||||
const subjectOfMine = node ? membershipSubject(node, self) : "";
|
const subjectOfMine = node ? membershipSubject(node, self) : "";
|
||||||
if (subjectOfMine) {
|
if (subjectOfMine) {
|
||||||
try {
|
try {
|
||||||
const got = await conn.request(`$JS.API.DIRECT.GET.${ASSIGNMENTS_STREAM}`,
|
// The subject-addressed form of a direct get — the stream, then the subject, nothing in
|
||||||
sc.encode(JSON.stringify({ last_by_subj: subjectOfMine })), { timeout: 5_000 });
|
// the body — because that is the one address the mesh grants this account on the
|
||||||
|
// stream's API; the body form asks the stream's root, which it may not.
|
||||||
|
const got = await conn.request(`$JS.API.DIRECT.GET.${ASSIGNMENTS_STREAM}.${subjectOfMine}`,
|
||||||
|
new Uint8Array(0), { timeout: 5_000 });
|
||||||
const status = got.headers?.code ?? 0;
|
const status = got.headers?.code ?? 0;
|
||||||
if (status === 0 && got.data.length > 0) {
|
if (status === 0 && got.data.length > 0) {
|
||||||
issued = JSON.parse(sc.decode(got.data)) as Membership;
|
issued = JSON.parse(sc.decode(got.data)) as Membership;
|
||||||
|
|||||||
Reference in New Issue
Block a user