auth/csharp/AuthService.cs
/// <summary>
/// Provides a login endpoint that can generate an auth code for the user given
/// valid user credentials.
/// </summary>
/// <param name='body'>
/// </param>
/// <param name='clientId'>
/// identifier of the oauth client
/// </param>
/// <param name='customHeaders'>
/// Headers that will be added to request.
/// </param>
/// <param name='cancellationToken'>
/// The cancellation token.
/// </param>
/// <exception cref="UserLoginResponseException">
/// 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>
Provides a login endpoint that can generate an auth code for the user given
valid user credentials.
Provides a login endpoint that can generate an auth code for the user given valid user credentials .
public async Task<HttpOperationResponse<UserLoginResponse>> LoginUserWithHttpMessagesAsync(UserLoginRequest body, string clientId = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken))
        {
            if (body == null)
            {
                throw new ValidationException(ValidationRules.CannotBeNull, "body");
            }
            if (body != null)
            {
                body.Validate();
            }
            bool _shouldTrace = ServiceClientTracing.IsEnabled;
            string _invocationId = null;
            if (_shouldTrace)
            {
                _invocationId = ServiceClientTracing.NextInvocationId.ToString();
                Dictionary<string, object> tracingParameters = new Dictionary<string, object>();
                tracingParameters.Add("clientId", clientId);
                tracingParameters.Add("body", body);
                tracingParameters.Add("cancellationToken", cancellationToken);
                ServiceClientTracing.Enter(_invocationId, this, "LoginUser", tracingParameters);
            }
            var _baseUrl = BaseUri.AbsoluteUri;
            var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "users/login").ToString();
            List<string> _queryParameters = new List<string>();
            if (clientId != null)
            {
                _queryParameters.Add(string.Format("client_id={0}", System.Uri.EscapeDataString(clientId)));
            }
            if (_queryParameters.Count > 0)
            {
                _url += "?" + string.Join("&", _queryParameters);
            }
            var _httpRequest = new HttpRequestMessage();
            HttpResponseMessage _httpResponse = null;
            _httpRequest.Method = new HttpMethod("POST");
            _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(body != null)
            {
                _requestContent = SafeJsonConvert.SerializeObject(body, SerializationSettings);
                _httpRequest.Content = new StringContent(_requestContent, System.Text.Encoding.UTF8);
                _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8");
            }
            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 UserLoginResponseException(string.Format("Operation returned an invalid status code '{0}'", _statusCode));
                try
                {
                    _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
                    UserLoginResponse _errorBody =  SafeJsonConvert.DeserializeObject<UserLoginResponse>(_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<UserLoginResponse>();
            _result.Request = _httpRequest;
            _result.Response = _httpResponse;
            if ((int)_statusCode == 200)
            {
                _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
                try
                {
                    _result.Body = SafeJsonConvert.DeserializeObject<UserLoginResponse>(_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 < UserLoginResponse > > LoginUserWithHttpMessagesAsync ( UserLoginRequest body , string clientId = default ( string ) , Dictionary < string , List < string > > customHeaders = null , CancellationToken cancellationToken = default ( CancellationToken ) ) { if ( body == null ) { throw new ValidationException ( ValidationRules . CannotBeNull , " " ) ; } if ( body != null ) { body . Validate ( ) ; } bool _shouldTrace = ServiceClientTracing . IsEnabled ; string _invocationId = null ; if ( _shouldTrace ) { _invocationId = ServiceClientTracing . NextInvocationId . ToString ( ) ; Dictionary < string , object > tracingParameters = new Dictionary < string , object > ( ) ; tracingParameters . Add ( " " , clientId ) ; tracingParameters . Add ( " " , body ) ; tracingParameters . Add ( " " , cancellationToken ) ; ServiceClientTracing . Enter ( _invocationId , this , " " , tracingParameters ) ; } var _baseUrl = BaseUri . AbsoluteUri ; var _url = new System . Uri ( new System . Uri ( _baseUrl + ( _baseUrl . EndsWith ( " " ) ? " " : " " ) ) , " " ) . ToString ( ) ; List < string > _queryParameters = new List < string > ( ) ; if ( clientId != null ) { _queryParameters . Add ( string . Format ( " " , System . Uri . EscapeDataString ( clientId ) ) ) ; } if ( _queryParameters . Count > 0 ) { _url += " " + string . Join ( " " , _queryParameters ) ; } 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 ( body != null ) { _requestContent = SafeJsonConvert . SerializeObject ( body , SerializationSettings ) ; _httpRequest . Content = new StringContent ( _requestContent , System . Text . Encoding . UTF8 ) ; _httpRequest . Content . Headers . ContentType = System . Net . Http . Headers . MediaTypeHeaderValue . Parse ( " " ) ; } 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 UserLoginResponseException ( string . Format ( " " , _statusCode ) ) ; try { _responseContent = await _httpResponse . Content . ReadAsStringAsync ( ) . ConfigureAwait ( false ) ; UserLoginResponse _errorBody = SafeJsonConvert . DeserializeObject < UserLoginResponse > ( _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 < UserLoginResponse > ( ) ; _result . Request = _httpRequest ; _result . Response = _httpResponse ; if ( ( int ) _statusCode == 200 ) { _responseContent = await _httpResponse . Content . ReadAsStringAsync ( ) . ConfigureAwait ( false ) ; try { _result . Body = SafeJsonConvert . DeserializeObject < UserLoginResponse > ( _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 ; }
Provides a login endpoint that can generate an auth code for the user given
valid user credentials.
Provides a login endpoint that can generate an auth code for the user given valid user credentials .
// 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
body
UserLoginRequest
None
clientId
string
identifier of the oauth client
identifier of the oauth client
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 .