There are techniques to get the API address from a WebDAV door, and vice versa. We could use this in Ada. Then a user would be able to specify a WebDAV SURL and does not need to know where the API is; Ada could figure that out. I think this is already used in gfal-bringonline (if you provide it with a WebDAV URL). Downside: this is not configured by default; it depends on the dCache instance.
Finding API through WebDAV door:
$ curl -s -k https://webdav.grid.surfsara.nl:2882/.well-known/wlcg-tape-rest-api | jq .endpoints[0].uri
"https://dcacheview.grid.surfsara.nl:22882/api/v1/tape"
Finding WebDAV door through the API:
$ curl --fail --silent --capath /etc/grid-security/certificates/ --cert $X509_USER_PROXY --cacert $X509_USER_PROXY -H 'Accept: application/json' https://dcacheview.grid.surfsara.nl:22884/scripts/config.js | jq -r '."dcache-view.endpoints.webdav"'
https://dcacheview.grid.surfsara.nl:2884/
There are techniques to get the API address from a WebDAV door, and vice versa. We could use this in Ada. Then a user would be able to specify a WebDAV SURL and does not need to know where the API is; Ada could figure that out. I think this is already used in gfal-bringonline (if you provide it with a WebDAV URL). Downside: this is not configured by default; it depends on the dCache instance.
Finding API through WebDAV door:
Finding WebDAV door through the API: