Skip to content

Generic API Client

Gareth Sylvester-Bradley edited this page May 9, 2022 · 2 revisions

Trailing Slashes

For consistency and in order to adhere to how these APIs are specified in RAML, the 'primary' path for every API resource has the trailing slash omitted.

In order to overcome shortcomings in some common libraries, requirements are imposed for the support of URL paths with or without trailing slashes. For the latest information on these requirements please refer to the API specifications.

WebSockets & Subscriptions

Where a WebSocket or other subscription based mechanism is provided for client usage, it is recommended that clients make use of this to avoid polling the API directly.

DNS-SD Bridging

Some of the NMOS specifications make use of DNS Service Discovery. When writing a higher level client implementation in a web browser, this data may be inaccessible within the browser's sandbox. One mechanism to overcome this is to run an HTTP based bridging service on any host which runs such a client. This should gather DNS-SD browsing results behind the scenes and surface them via an HTTP accessible API in order to make them available to the browser based client. An example of such an implementation is highlighted in the NMOS Parameter Registers