Exemplo n.º 1
0
        private static HttpClient ConfigureClient(HabiticaCredentials credentials, HttpMessageHandler handler, Uri baseAddress)
        {
            var client = new HttpClient(handler);

            client.BaseAddress = baseAddress;

            string clientHeader = $"{credentials.AppAuthorUserId}-{credentials.AppName}";

            client.BaseAddress = baseAddress;
            client.DefaultRequestHeaders.Add("x-client", clientHeader);
            client.DefaultRequestHeaders.Add("x-api-user", credentials.ApiUserId.ToString());
            client.DefaultRequestHeaders.Add("x-api-key", credentials.ApiToken.ToString());

            return(client);
        }
Exemplo n.º 2
0
        public static CoreClient Create(HabiticaCredentials credentials, HttpMessageHandler handler, Uri baseAddress)
        {
            ValidateCredentials(credentials);
            if (handler == null)
            {
                throw new ArgumentNullException(nameof(handler));
            }
            if (baseAddress == null)
            {
                throw new ArgumentNullException(nameof(baseAddress));
            }
            var client = ConfigureClient(credentials, handler, baseAddress);

            return(new CoreClient(client));
        }
Exemplo n.º 3
0
 private static void ValidateCredentials(HabiticaCredentials credentials)
 {
     if (credentials == null)
     {
         throw new ArgumentNullException(nameof(credentials));
     }
     if (credentials.ApiToken == default)
     {
         throw new ArgumentException(Resources.ExceptionApiTokenEmpty);
     }
     if (credentials.ApiUserId == default)
     {
         throw new ArgumentException(Resources.ExceptionApiUserIdEmpty);
     }
     if (credentials.AppAuthorUserId == default)
     {
         throw new ArgumentException(Resources.ExceptionAppAuthorUserIdEmpty);
     }
     if (string.IsNullOrWhiteSpace(credentials.AppName))
     {
         throw new ArgumentException(Resources.ExceptionAppNameEmpty);
     }
 }
Exemplo n.º 4
0
 public static CoreClient Create(HabiticaCredentials credentials, HttpMessageHandler handler)
 => Create(credentials, handler, new Uri(Resources.BaseAddress));