Service will capture and use the User-Agent header for their own telemetry to know which calls are coming from the Client library. This is a "best-effort" model and there is no service enforcement.
What is being changed?
Sending "User-Agent" header on every request.
Format is "Microsoft-SFSClient/\<version> (\<OS Version>; \<Machine Info>)"
In Windows there is no longer an API to retrieve the version. We must rely on whatever the application that is using the library has registered in a manifest file. At least the machine info should be trustworthy.
In Linux it also changes depending on the distribution. The most common place to find distro + version is the /etc/os-release file. After that, the uname() function returns some generic info.
How was the change tested?
New tests are being added: added lines to functional CurlConnectionTests and SFSClientImplTests to expect the same header in the mock web server.
Related Issues
Why is this change being made?
Service will capture and use the User-Agent header for their own telemetry to know which calls are coming from the Client library. This is a "best-effort" model and there is no service enforcement.
What is being changed?
How was the change tested?