From 8a2fd9ab80621a79a90eecdc467e4a2a2a2d008a Mon Sep 17 00:00:00 2001 From: abhivijay96 Date: Sat, 7 May 2016 23:01:41 +0530 Subject: [PATCH] Update ServiceClient.cs --- .../ServiceClient.cs | 32 +++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/ClientRuntimes/CSharp/Microsoft.Rest.ClientRuntime/ServiceClient.cs b/ClientRuntimes/CSharp/Microsoft.Rest.ClientRuntime/ServiceClient.cs index 6763f4e6641fa..8051c80557e38 100644 --- a/ClientRuntimes/CSharp/Microsoft.Rest.ClientRuntime/ServiceClient.cs +++ b/ClientRuntimes/CSharp/Microsoft.Rest.ClientRuntime/ServiceClient.cs @@ -207,10 +207,38 @@ protected void InitializeHttpClient(HttpClientHandler httpClientHandler, params FirstMessageHandler = currentHandler; HttpClient = newClient; Type type = this.GetType(); - HttpClient.DefaultRequestHeaders.UserAgent.Add(new ProductInfoHeaderValue(type.FullName, + //setting userAgentBelow is removed because now the client can set it using SetUserAgent method + /* HttpClient.DefaultRequestHeaders.UserAgent.Add(new ProductInfoHeaderValue(type.FullName, + GetClientVersion()));*/ + } + + //A mehtod to set user agent + public bool SetUserAgent(string produtName) + { + if(!_disposed && HttpClient != null) + { + HttpClient.DefaultRequestHeaders.UserAgent.Add(new ProductInfoHeaderValue(productName, GetClientVersion())); + // returns true if the userAgent was added + return true; + } + // returns false if the httpclient was disposed before invoking the method + return false; + } + + //Another method to setuseragent and it's version + + public bool SetUserAgent(string produtName,string version) + { + if(!_disposed && HttpClient != null) + { + HttpClient.DefaultRequestHeaders.UserAgent.Add(new ProductInfoHeaderValue(productName,version); + // returns true if the userAgent was added + return true; + } + // returns false if the httpclient was disposed before invoking the method + return false; } - /// /// Gets the AssemblyInformationalVersion if available /// if not it gets the AssemblyFileVerion