auth/csharp/AuthService.cs
/// <summary>
/// get the configuration for a tenant
/// </summary>
/// <param name='tenantId'>
/// The tenant id
/// </param>
/// <param name='customHeaders'>
/// Headers that will be added to request.
/// </param>
/// <param name='cancellationToken'>
/// The cancellation token.
/// </param>
/// <exception cref="TenantConfigurationException">
/// Thrown when the operation returned an invalid status code
/// </exception>
/// <exception cref="SerializationException">
/// Thrown when unable to deserialize the response
/// </exception>
/// <exception cref="ValidationException">
/// Thrown when a required parameter is null
/// </exception>
/// <exception cref="System.ArgumentNullException">
/// Thrown when a required parameter is null
/// </exception>
/// <return>
/// A response object containing the response body and response headers.
/// </return>
get the configuration for a tenant
get the configuration for a tenant
public async Task<HttpOperationResponse<TenantConfiguration>> GetConfigurationWithHttpMessagesAsync(string tenantId, Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken))
        {
            if (tenantId == null)
            {
                throw new ValidationException(ValidationRules.CannotBeNull, "tenantId");
            }
            bool _shouldTrace = ServiceClientTracing.IsEnabled;
            string _invocationId = null;
            if (_shouldTrace)
            {
                _invocationId = ServiceClientTracing.NextInvocationId.ToString();
                Dictionary<string, object> tracingParameters = new Dictionary<string, object>();
                tracingParameters.Add("tenantId", tenantId);
                tracingParameters.Add("cancellationToken", cancellationToken);
                ServiceClientTracing.Enter(_invocationId, this, "GetConfiguration", tracingParameters);
            }
            var _baseUrl = BaseUri.AbsoluteUri;
            var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "configuration/{tenantId}").ToString();
            _url = _url.Replace("{tenantId}", System.Uri.EscapeDataString(tenantId));
            var _httpRequest = new HttpRequestMessage();
            HttpResponseMessage _httpResponse = null;
            _httpRequest.Method = new HttpMethod("GET");
            _httpRequest.RequestUri = new System.Uri(_url);
            if (customHeaders != null)
            {
                foreach(var _header in customHeaders)
                {
                    if (_httpRequest.Headers.Contains(_header.Key))
                    {
                        _httpRequest.Headers.Remove(_header.Key);
                    }
                    _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value);
                }
            }
            string _requestContent = null;
            if (Credentials != null)
            {
                cancellationToken.ThrowIfCancellationRequested();
                await Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false);
            }
            if (_shouldTrace)
            {
                ServiceClientTracing.SendRequest(_invocationId, _httpRequest);
            }
            cancellationToken.ThrowIfCancellationRequested();
            _httpResponse = await HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false);
            if (_shouldTrace)
            {
                ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse);
            }
            HttpStatusCode _statusCode = _httpResponse.StatusCode;
            cancellationToken.ThrowIfCancellationRequested();
            string _responseContent = null;
            if ((int)_statusCode != 200)
            {
                var ex = new TenantConfigurationException(string.Format("Operation returned an invalid status code '{0}'", _statusCode));
                try
                {
                    _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
                    TenantConfiguration _errorBody =  SafeJsonConvert.DeserializeObject<TenantConfiguration>(_responseContent, DeserializationSettings);
                    if (_errorBody != null)
                    {
                        ex.Body = _errorBody;
                    }
                }
                catch (JsonException)
                {
                }
                ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent);
                ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent);
                if (_shouldTrace)
                {
                    ServiceClientTracing.Error(_invocationId, ex);
                }
                _httpRequest.Dispose();
                if (_httpResponse != null)
                {
                    _httpResponse.Dispose();
                }
                throw ex;
            }
            var _result = new HttpOperationResponse<TenantConfiguration>();
            _result.Request = _httpRequest;
            _result.Response = _httpResponse;
            if ((int)_statusCode == 200)
            {
                _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
                try
                {
                    _result.Body = SafeJsonConvert.DeserializeObject<TenantConfiguration>(_responseContent, DeserializationSettings);
                }
                catch (JsonException ex)
                {
                    _httpRequest.Dispose();
                    if (_httpResponse != null)
                    {
                        _httpResponse.Dispose();
                    }
                    throw new SerializationException("Unable to deserialize the response.", _responseContent, ex);
                }
            }
            if (_shouldTrace)
            {
                ServiceClientTracing.Exit(_invocationId, _result);
            }
            return _result;
        }
public async Task < HttpOperationResponse < TenantConfiguration > > GetConfigurationWithHttpMessagesAsync ( string tenantId , Dictionary < string , List < string > > customHeaders = null , CancellationToken cancellationToken = default ( CancellationToken ) ) { if ( tenantId == null ) { throw new ValidationException ( ValidationRules . CannotBeNull , " " ) ; } bool _shouldTrace = ServiceClientTracing . IsEnabled ; string _invocationId = null ; if ( _shouldTrace ) { _invocationId = ServiceClientTracing . NextInvocationId . ToString ( ) ; Dictionary < string , object > tracingParameters = new Dictionary < string , object > ( ) ; tracingParameters . Add ( " " , tenantId ) ; tracingParameters . Add ( " " , cancellationToken ) ; ServiceClientTracing . Enter ( _invocationId , this , " " , tracingParameters ) ; } var _baseUrl = BaseUri . AbsoluteUri ; var _url = new System . Uri ( new System . Uri ( _baseUrl + ( _baseUrl . EndsWith ( " " ) ? " " : " " ) ) , " " ) . ToString ( ) ; _url = _url . Replace ( " " , System . Uri . EscapeDataString ( tenantId ) ) ; var _httpRequest = new HttpRequestMessage ( ) ; HttpResponseMessage _httpResponse = null ; _httpRequest . Method = new HttpMethod ( " " ) ; _httpRequest . RequestUri = new System . Uri ( _url ) ; if ( customHeaders != null ) { foreach ( var _header in customHeaders ) { if ( _httpRequest . Headers . Contains ( _header . Key ) ) { _httpRequest . Headers . Remove ( _header . Key ) ; } _httpRequest . Headers . TryAddWithoutValidation ( _header . Key , _header . Value ) ; } } string _requestContent = null ; if ( Credentials != null ) { cancellationToken . ThrowIfCancellationRequested ( ) ; await Credentials . ProcessHttpRequestAsync ( _httpRequest , cancellationToken ) . ConfigureAwait ( false ) ; } if ( _shouldTrace ) { ServiceClientTracing . SendRequest ( _invocationId , _httpRequest ) ; } cancellationToken . ThrowIfCancellationRequested ( ) ; _httpResponse = await HttpClient . SendAsync ( _httpRequest , cancellationToken ) . ConfigureAwait ( false ) ; if ( _shouldTrace ) { ServiceClientTracing . ReceiveResponse ( _invocationId , _httpResponse ) ; } HttpStatusCode _statusCode = _httpResponse . StatusCode ; cancellationToken . ThrowIfCancellationRequested ( ) ; string _responseContent = null ; if ( ( int ) _statusCode != 200 ) { var ex = new TenantConfigurationException ( string . Format ( " " , _statusCode ) ) ; try { _responseContent = await _httpResponse . Content . ReadAsStringAsync ( ) . ConfigureAwait ( false ) ; TenantConfiguration _errorBody = SafeJsonConvert . DeserializeObject < TenantConfiguration > ( _responseContent , DeserializationSettings ) ; if ( _errorBody != null ) { ex . Body = _errorBody ; } } catch ( JsonException ) { } ex . Request = new HttpRequestMessageWrapper ( _httpRequest , _requestContent ) ; ex . Response = new HttpResponseMessageWrapper ( _httpResponse , _responseContent ) ; if ( _shouldTrace ) { ServiceClientTracing . Error ( _invocationId , ex ) ; } _httpRequest . Dispose ( ) ; if ( _httpResponse != null ) { _httpResponse . Dispose ( ) ; } throw ex ; } var _result = new HttpOperationResponse < TenantConfiguration > ( ) ; _result . Request = _httpRequest ; _result . Response = _httpResponse ; if ( ( int ) _statusCode == 200 ) { _responseContent = await _httpResponse . Content . ReadAsStringAsync ( ) . ConfigureAwait ( false ) ; try { _result . Body = SafeJsonConvert . DeserializeObject < TenantConfiguration > ( _responseContent , DeserializationSettings ) ; } catch ( JsonException ex ) { _httpRequest . Dispose ( ) ; if ( _httpResponse != null ) { _httpResponse . Dispose ( ) ; } throw new SerializationException ( " " , _responseContent , ex ) ; } } if ( _shouldTrace ) { ServiceClientTracing . Exit ( _invocationId , _result ) ; } return _result ; }
get the configuration for a tenant
get the configuration for a tenant
// Tracing // Construct URL // Create HTTP transport objects // Set Headers // Serialize Request // Set Credentials // Send Request // Ignore the exception // Create Result // Deserialize Response
A response object containing the response body and response headers.
A response object containing the response body and response headers .
Thrown when the operation returned an invalid status code
Thrown when the operation returned an invalid status code
Thrown when unable to deserialize the response
Thrown when unable to deserialize the response
Thrown when a required parameter is null
Thrown when a required parameter is null
Thrown when a required parameter is null
Thrown when a required parameter is null
tenantId
string
The tenant id
The tenant id
customHeaders
Dictionary<string, List<string>>
Headers that will be added to request.
Headers that will be added to request .
cancellationToken
CancellationToken
The cancellation token.
The cancellation token .