private Dictionary<string, string> ConvertHeaders(HttpResponseHeaders responseHeaders, HttpContent httpContent) { if ((responseHeaders == null || !responseHeaders.Any()) && (httpContent == null || (httpContent.Headers == null || !httpContent.Headers.Any()))) { return null; } var headers = new Dictionary<string, string>(); if (responseHeaders != null && responseHeaders.Any()) { foreach (var responseHeader in responseHeaders) { headers.Add(responseHeader.Key, String.Join(", ", responseHeader.Value.Select(x => x))); } } if (httpContent != null && httpContent.Headers != null && httpContent.Headers.Any()) { foreach (var contentHeader in httpContent.Headers) { headers.Add(contentHeader.Key, String.Join(", ", contentHeader.Value.Select(x => x))); } } return headers; }
public void SetProperties(HttpResponseHeaders headers) { var properties = this.GetType().GetTypeInfo().DeclaredProperties; foreach (var prop in properties.Where(prop => headers.Any(h => h.Key == prop.Name))) { var value = headers.First(h => NetNamingMapper.GetPropertyName(h.Key) == prop.Name).Value; if(value == null) continue; if (value.Count() == 1) { prop.SetValue(this, value.FirstOrDefault()); } else { try { prop.SetValue(this, value.FirstOrDefault()); } catch (Exception) { // do nothing } } } }
public void SetProperties(HttpResponseHeaders headers) { var properties = this.GetType().GetProperties().Where(p => p.GetValue(this) != null); foreach (var prop in properties.Where(prop => headers.Any(h => h.Key == prop.Name))) { prop.SetValue(this, headers.First(h => NetNamingMapper.GetPropertyName(h.Key) == prop.Name)); } }