Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

client should support client supplied metadata #4

Open
critzo opened this issue Oct 6, 2020 · 3 comments
Open

client should support client supplied metadata #4

critzo opened this issue Oct 6, 2020 · 3 comments

Comments

@critzo
Copy link

critzo commented Oct 6, 2020

The current JS client M-Lab provides supports the addition of metadata about the client.

The ndt7-js reference client should also support this.

@critzo critzo changed the title first client needs to support client supplied metadata client should support client supplied metadata Oct 15, 2020
@stephen-soltesz
Copy link
Contributor

stephen-soltesz commented Oct 30, 2020

The mechanism I'm thinking of supporting is the following:

  • clients provide extra http parameters to the locate API request.
  • the locate api copies "safe"/"predefined" parameters from that request to the websocket URLs generated for access to the measurement service

For example:

https://locate.measurementlab.net/v2/nearest/ndt/ndt7?client_name=foo&client_version=0.1.1

Generates URLs like:

wss://ndt-mlab1-foo01.mlab-oti.measurement-lab.org/ndt/v7/download?client_name=foo&client_version=0.11&access_token=...

This would preserve the current behavior where clients only use the urls provided by the locate api without needing to manipulate them.

@stephen-soltesz
Copy link
Contributor

The method described above is now in production, and in use by at least two clients. Please use this method for the Javascript client also.

@stephen-soltesz
Copy link
Contributor

At a minimum the ndt7-js client should provide a client_name= parameter to the locate request identifying that this is the ndt7-js client. The ndt7-client-ios and ndt7-client-android clients already do this. Ideally, the ndt7-js client would also provide client_version=. These variables would be propagated to the ndt client metadata.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants