Example #1
0
        public async Task <HttpResponseMessage> SendPut <T>(T obj, bool ignoreNullValues = false, bool disableBodyLogs = false)
        {
            //Setting headers
            foreach (var(key, value) in Headers)
            {
                _client.DefaultRequestHeaders.Add(key, value);
            }

            var options = new JsonSerializerOptions {
                WriteIndented = true, IgnoreNullValues = ignoreNullValues, Encoder = System.Text.Encodings.Web.JavaScriptEncoder.Create(System.Text.Unicode.UnicodeRanges.All)
            };
            var serializedObject = JsonSerializer.Serialize(obj, options);
            var todoItemJson     = new StringContent(serializedObject, Encoding.UTF8, "application/json");
            var url = GetConfiguredUrl();

            var httpResponse = await _client.PutAsync(url, todoItemJson);

            //Clean default headers after request
            _client.DefaultRequestHeaders.Clear();

            if (LogsEnabled)
            {
                RWSLogger.ResponseLogs(httpResponse);
            }

            return(httpResponse);
        }
Example #2
0
        public async Task <TClass> SendDelete <TClass>(bool disableBodyLogs = false)
        {
            //Setting headers
            foreach (var(key, value) in Headers)
            {
                _client.DefaultRequestHeaders.Add(key, value);
            }

            var url          = GetConfiguredUrl();
            var httpResponse = await _client.DeleteAsync(url);

            //Clean default headers after request
            _client.DefaultRequestHeaders.Clear();

            if (LogsEnabled)
            {
                RWSLogger.ResponseLogs(httpResponse);
            }

            //Check that response status code is 200
            httpResponse.EnsureSuccessStatusCode();
            return(JsonSerializer.Deserialize <TClass>(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerOptions()
            {
                WriteIndented = true
            }));
        }
Example #3
0
            public Builder AddHeaders(string key, string value)
            {
                if (!_restCore.Headers.ContainsKey(key))
                {
                    _restCore.Headers.Add(key, value);
                }
                else
                {
                    RWSLogger.ErrorLog($"Try to add duplicate header {key}");
                }

                return(this);
            }
Example #4
0
        public async Task <HttpResponseMessage> SendPostMultipart(MultipartFormDataContent form, bool ignoreNullValues = false, bool disableBodyLogs = false)
        {
            foreach (var(key, value) in Headers)
            {
                _client.DefaultRequestHeaders.Add(key, value);
            }

            var url          = GetConfiguredUrl();
            var httpResponse = await _client.PostAsync(url, form);

            //Clean default headers after request
            _client.DefaultRequestHeaders.Clear();

            if (LogsEnabled)
            {
                RWSLogger.ResponseLogs(httpResponse);
            }

            return(httpResponse);
        }
Example #5
0
        public async Task <HttpResponseMessage> SendDelete(bool disableBodyLogs = false)
        {
            //Setting headers
            foreach (var(key, value) in Headers)
            {
                _client.DefaultRequestHeaders.Add(key, value);
            }

            var url          = GetConfiguredUrl();
            var httpResponse = await _client.DeleteAsync(url);

            //Clean default headers after request
            _client.DefaultRequestHeaders.Clear();

            if (LogsEnabled)
            {
                RWSLogger.ResponseLogs(httpResponse);
            }

            return(httpResponse);
        }