private void SetContentType(INetRequest netRequest) { var contentTypeItem = netRequest.Parameters.LastOrDefault(m => m.ParamsOptions == ParameterOptions.Headers && m.Name == HttpR.ContentTypeKey); ContentType = contentTypeItem?.ContentType; if (string.IsNullOrEmpty(ContentType)) { if (netRequest.Parameters.Any(m => m.Name == HttpR.ContentDispositionKey)) { ContentType = HttpR.FormDataContentType; } else { ContentType = HttpR.ContentType; } } }
private void AppendHeaders(INetRequest netRequest, HttpRequestMessage request) { var headers = netRequest.Parameters.Where(m => m.ParamsOptions == ParameterOptions.Headers); if (headers == null || !headers.Any()) { return; } var contentTypeItem = headers.FirstOrDefault(m => !string.IsNullOrEmpty(m.ContentType)); if (contentTypeItem != null) { ContentType = contentTypeItem.ContentType; } else { ContentType = string.Empty; } foreach (var item in headers) { if (!string.IsNullOrEmpty(item.ContentType)) { continue; } request.Headers.TryAddWithoutValidation(item.Name, item.Value.ToString()); } #region old //request.Headers.TryAddWithoutValidation //foreach (var item in headers) //{ // HttpHeaderType // switch (item.Name) // { // case HttpR.AcceptKey: // request.Headers.Accept.TryParseAdd(item.Value.ToString()); // break; // case HttpR.AcceptEncodingKey: // request.Headers.AcceptEncoding.TryParseAdd(item.Value); // break; // case HttpR.AcceptLanguageKey: // request.Headers.AcceptLanguage.TryParseAdd(item.Value); // break; // case HttpR.UserAgentKey: // request.Headers.UserAgent.TryParseAdd(item.Value); // break; // case HttpR.RefererKey: // request.Headers.Referrer = new Uri(item.Value); // break; // default: // request.Headers.TryAddWithoutValidation(item.Name, item.Value); // break; // } // if (!string.IsNullOrEmpty(item.ContentType)) // { // ContentType = item.ContentType; // } // else // { // request.Headers. // } // switch (item.ParamsOptions) // { // case ParameterOptions.HttpHeader: // switch (item.Name) // { // case HttpR.AcceptKey: // request.Headers.Accept.TryParseAdd(item.Value); // break; // case HttpR.AcceptEncodingKey: // request.Headers.AcceptEncoding.TryParseAdd(item.Value); // break; // case HttpR.AcceptLanguageKey: // request.Headers.AcceptLanguage.TryParseAdd(item.Value); // break; // case HttpR.UserAgentKey: // request.Headers.UserAgent.TryParseAdd(item.Value); // break; // case HttpR.RefererKey: // request.Headers.Referrer = new Uri(item.Value); // break; // default: // request.Headers.TryAddWithoutValidation(item.Name, item.Value); // break; // } // break; // case ParameterOptions.HttpContentHeader: // request.Content.Headers.TryAddWithoutValidation(item.Name, item.Value); // break; // default: // break; // } //} #endregion }