Hi Daniel,
I added parsing of the auid just so that errors wouldn't be generated if we received it and so that these requests could then be handled cleanly. By parsing the auid in the xcap_server without errors it also leaves open the option of then calling an exported function from another module that does handle XQuery based searches, or simply returning an appropriate HTTP response code indicating that search isn't supported.
For example,
event_route[xhttp:request] {
...
switch($rm) {
...
case "POST":
if ($xcapuri(u=>auid)=~"search") {
if ($xcapuri(u=>target)=~"org.openmobilealliance.user-profile/users") {
# Call custom XQuery search function for user-profiles
} else if ($xcapuri(u=>target)=~ .. some other searchable directory .. ) {
# Call custom XQuery search function for this directory
} else {
xhttp_reply("501", "Not Implemented", "", "");
}
} else {
xhttp_reply("400", "Bad Request", "", "");
}
exit;
}
...
}
Regards,
Peter
On Thu, 2012-10-25 at 11:06 +0200, Daniel-Constantin Mierla wrote:
Hello Peter,
regarding your email with supported auids:
http://lists.sip-router.org/pipermail/sr-users/2012-September/074850.html
You mention that org.openmobilealliance.search is not supported, but in
the source code it is parsed. Is it that just is not complete
implementation? I saw there is some special handling when this auid is
matched.
Btw, I refactored a bit the auid discovery, using a static table that
contains the list of supported auids:
http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=5f813fdab34cb7507bc4dcc1b66ff87f90f69c9a
Hopefully I haven't introduced any issue, having limited testing
capabilities for xcap at this moment (just commit fixes if you find some).
Also, if you know the auids that imply static documents (as you wrote in
the email), feel free to add them when you get some spare time, it would
be good to support them in xcap_server even the presence modules have to
be extended as well.
Cheers,
Daniel
--
Peter Dunkley
Technical Director
Crocodile RCS Ltd
|