auth/csharp/AuthService.cs
/// <summary>
/// Gets an auth code for the user to use for logging in.
/// </summary>
/// <param name='userId'>
/// identifier of the user
/// </param>
/// <param name='customHeaders'>
/// Headers that will be added to request.
/// </param>
/// <param name='cancellationToken'>
/// The cancellation token.
/// </param>
/// <exception cref="UserAuthCodeResponseException">
/// 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>
Gets an auth code for the user to use for logging in.
Gets an auth code for the user to use for logging in .
public async Task<HttpOperationResponse<UserAuthCodeResponse>> GenerateAuthCodeWithHttpMessagesAsync(string userId, Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken))
        {
            if (userId == null)
            {
                throw new ValidationException(ValidationRules.CannotBeNull, "userId");
            }
            bool _shouldTrace = ServiceClientTracing.IsEnabled;
            string _invocationId = null;
            if (_shouldTrace)
            {
                _invocationId = ServiceClientTracing.NextInvocationId.ToString();
                Dictionary<string, object> tracingParameters = new Dictionary<string, object>();
                tracingParameters.Add("userId", userId);
                tracingParameters.Add("cancellationToken", cancellationToken);
                ServiceClientTracing.Enter(_invocationId, this, "GenerateAuthCode", tracingParameters);
            }
            var _baseUrl = BaseUri.AbsoluteUri;
            var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "users/{userId}/authcode").ToString();
            _url = _url.Replace("{userId}", System.Uri.EscapeDataString(userId));
            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 UserAuthCodeResponseException(string.Format("Operation returned an invalid status code '{0}'", _statusCode));
                try
                {
                    _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
                    UserAuthCodeResponse _errorBody =  SafeJsonConvert.DeserializeObject<UserAuthCodeResponse>(_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<UserAuthCodeResponse>();
            _result.Request = _httpRequest;
            _result.Response = _httpResponse;
            if ((int)_statusCode == 200)
            {
                _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
                try
                {
                    _result.Body = SafeJsonConvert.DeserializeObject<UserAuthCodeResponse>(_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 < UserAuthCodeResponse > > GenerateAuthCodeWithHttpMessagesAsync ( string userId , Dictionary < string , List < string > > customHeaders = null , CancellationToken cancellationToken = default ( CancellationToken ) ) { if ( userId == 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 ( " " , userId ) ; 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 ( userId ) ) ; 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 UserAuthCodeResponseException ( string . Format ( " " , _statusCode ) ) ; try { _responseContent = await _httpResponse . Content . ReadAsStringAsync ( ) . ConfigureAwait ( false ) ; UserAuthCodeResponse _errorBody = SafeJsonConvert . DeserializeObject < UserAuthCodeResponse > ( _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 < UserAuthCodeResponse > ( ) ; _result . Request = _httpRequest ; _result . Response = _httpResponse ; if ( ( int ) _statusCode == 200 ) { _responseContent = await _httpResponse . Content . ReadAsStringAsync ( ) . ConfigureAwait ( false ) ; try { _result . Body = SafeJsonConvert . DeserializeObject < UserAuthCodeResponse > ( _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 ; }
Gets an auth code for the user to use for logging in.
Gets an auth code for the user to use for logging in .
// 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
userId
string
identifier of the user
identifier of the user
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 .