Open zzdever opened 5 years ago
However, two or more procedures with common prefix registered by:
This works as designed, as these 2 procs are registered exact, and are different.
Two procedures registered for com.myapp.funcs.add1
and com.myapp.funcs.add2
will lead to 2 different (exact) registrations - those can be found again with wamp.registration.lookup
when looking for com.myapp.funcs.add1
or com.myapp.funcs.add2
.
A third procedure registered for the prefix com.myapp.funcs.add
will lead to a 3rd registration (different from the first 2) which can be found again using com.myapp.funcs.add
and { match: "prefix" }
.
Now given a concrete URI like com.myapp.funcs.add2
, you can check which procedure is best matching via wamp.registration.match
.
ref: #395
The situation described by @mfojtak still not works.
As for my investigation, I found:
A procedure registered by
session.register("com.myapp.funcs.add", add, { match: "prefix" });
can be found by callingsession.call('wamp.registration.lookup', ["com.myapp.funcs.add", { match: "prefix" }])
However, two or more procedures with common prefix registered by:
session.register("com.myapp.funcs.add1", add1);
session.register("com.myapp.funcs.add2", add2);
can not be found by callingsession.call('wamp.registration.lookup', ["com.myapp.funcs.add", { match: "prefix" }])
I think what @mfojtak described is the second situation.
So, the conclusion is, option
{ match: "prefix" }
inwamp.registration.lookup
is for pattern-based registrations, and I have to provide the whole uri to lookup. But this is not for looking up procedures with common prefix. This is a little bit confusing. I reopen this issue for attention.