Beispiel #1
0
        public EasyRestClient(
            string baseUrl = null,
            IDictionary <string, string> defaultHeaders = null,
            SerializeStrategyEnum serializeStrategy     = SerializeStrategyEnum.SnakeCase,
            int timeoutInMs   = 60000,
            string requestKey = null,
            IDictionary <string, string> additionalLogItems = null,
            string userAgent                = "RestSharp Easy! https://github.com/ThiagoBarradas/restsharp-easy",
            string[] jsonBlackList          = null,
            List <JsonConverter> converters = null,
            bool enableLog = true,
            Dictionary <HttpStatusCode, LogEventLevel> overrideLogLevelByStatusCode = null)
        {
            var config = new EasyRestClientConfiguration
            {
                BaseUrl                      = baseUrl,
                TimeoutInMs                  = timeoutInMs,
                DefaultHeaders               = defaultHeaders,
                SerializeStrategy            = serializeStrategy,
                RequestKey                   = requestKey,
                AdditionalLogItems           = additionalLogItems,
                UserAgent                    = userAgent,
                JsonLogBlacklist             = jsonBlackList ?? EasyRestClientConfiguration.DefaultJsonBlacklist,
                Converters                   = converters,
                EnableLog                    = enableLog,
                OverrideLogLevelByStatusCode = overrideLogLevelByStatusCode
            };

            this.Initialize(config);
        }
Beispiel #2
0
        private void Initialize(EasyRestClientConfiguration configuration)
        {
            var client = (string.IsNullOrEmpty(configuration.BaseUrl))
                ? new RestClientAutolog()
                : new RestClientAutolog(configuration.BaseUrl);

            client.Timeout = configuration.TimeoutInMs;
            client.EnableLog(configuration.EnableLog);

            client.Configuration.OverrideLogLevelByStatusCode = configuration.OverrideLogLevelByStatusCode;

            if (configuration.RequestKey != null)
            {
                client.AddLogAdditionalInfo("RequestKey", configuration.RequestKey);
            }

            if (configuration.AdditionalLogItems != null)
            {
                foreach (var logItem in configuration.AdditionalLogItems)
                {
                    client.AddLogAdditionalInfo(logItem.Key, logItem.Value);
                }
            }

            client.Configuration.JsonBlacklist = configuration.JsonLogBlacklist;

            client.UserAgent = configuration.UserAgent;

            if (configuration.DefaultHeaders != null)
            {
                foreach (var header in configuration.DefaultHeaders)
                {
                    client.AddDefaultHeader(header.Key, header.Value);
                }
            }

            var strategy = configuration.SerializeStrategy.ToString();

            this.JsonSerializer         = strategy.GetNewtonsoftJsonSerializer();
            this.JsonSerializerSettings = strategy.GetNewtonsoftJsonSerializerSettings();

            if (configuration.Converters != null)
            {
                foreach (var converter in configuration.Converters)
                {
                    this.JsonSerializer.Converters.Add(converter);
                    this.JsonSerializerSettings.Converters.Add(converter);
                }
            }

            this.NewtonsoftRestsharpJsonSerializer = new NewtonsoftRestsharpJsonSerializer(this.JsonSerializer);
            client.AddNewtonsoftResponseHandler(this.NewtonsoftRestsharpJsonSerializer);

            this.RestClient = client;
        }
Beispiel #3
0
 public EasyRestClient(EasyRestClientConfiguration config)
 {
     this.Initialize(config);
 }