/// <summary> /// Create a token provider to authenticate against ArcGIS Server /// </summary> /// <param name="rootUrl">Made up of scheme://host:port/site</param> /// <param name="username">ArcGIS Server user name</param> /// <param name="password">ArcGIS Server user password</param> /// <param name="serializer">Used to (de)serialize requests and responses</param> public TokenProvider(String rootUrl, String username, String password, ISerializer serializer) { if (String.IsNullOrWhiteSpace(username) || String.IsNullOrWhiteSpace(password)) { System.Diagnostics.Debug.WriteLine("TokenProvider for '" + RootUrl + "' not initialized as username/password not supplied."); return; } if (serializer == null) throw new ArgumentNullException("serializer", "Serializer has not been set."); RootUrl = rootUrl.AsRootUrl(); Serializer = serializer; TokenRequest = new GenerateToken(username, password); _httpClientHandler = new HttpClientHandler(); if (_httpClientHandler.SupportsAutomaticDecompression) _httpClientHandler.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate; if (_httpClientHandler.SupportsUseProxy()) _httpClientHandler.UseProxy = true; if (_httpClientHandler.SupportsAllowAutoRedirect()) _httpClientHandler.AllowAutoRedirect = true; if (_httpClientHandler.SupportsPreAuthenticate()) _httpClientHandler.PreAuthenticate = true; _httpClient = new HttpClient(_httpClientHandler); _httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); System.Diagnostics.Debug.WriteLine("Created TokenProvider for " + RootUrl); }
/// <summary> /// Create a token provider to authenticate against ArcGIS Server /// </summary> /// <param name="rootUrl">Made up of scheme://host:port/site</param> /// <param name="username">ArcGIS Server user name</param> /// <param name="password">ArcGIS Server user password</param> /// <param name="serializer">Used to (de)serialize requests and responses</param> public TokenProvider(String rootUrl, String username, String password, ISerializer serializer) { RootUrl = rootUrl.AsRootUrl(); Serializer = serializer; if (Serializer == null) throw new ArgumentNullException("serializer", "Serializer has not been set."); TokenRequest = new GenerateToken(username, password); _httpClientHandler = new HttpClientHandler(); if (_httpClientHandler.SupportsAutomaticDecompression) _httpClientHandler.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate; if (_httpClientHandler.SupportsUseProxy()) _httpClientHandler.UseProxy = true; if (_httpClientHandler.SupportsAllowAutoRedirect()) _httpClientHandler.AllowAutoRedirect = true; if (_httpClientHandler.SupportsPreAuthenticate()) _httpClientHandler.PreAuthenticate = true; _httpClient = new HttpClient(_httpClientHandler); _httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); }