public async Task <LoginResponse> Login(string pUsername, string pPassword) { _Client.DefaultRequestHeaders.Authorization = null; AuthenticationHeaderValue lAuthorization = new AuthenticationHeaderValue( "Basic", Convert.ToBase64String(Encoding.ASCII.GetBytes($"{pUsername}:{pPassword}"))); LoginResponse lResponse = null; try { using HttpRequestMessage lRequest = new HttpRequestMessage(HttpMethod.Get, "login"); lRequest.Headers.Authorization = lAuthorization; return(lResponse = await SendAsync <LoginResponse>(lRequest)); } finally { if (lResponse != null) { _Client.DefaultRequestHeaders.Authorization = lAuthorization; _State = new ApiState { Environment = _Environment, Authentication = lAuthorization, Name = lResponse.Name, }; } } }
public ApiClient(ApiState pState) : this(pState.Environment) { _Client.DefaultRequestHeaders.Authorization = pState.Authentication; }