/// <summary> /// Constructor /// </summary> /// <param name="baseUri"></param> private protected RequestClientBase(Uri baseUri) { Handler = new HttpClientHandler(); Client = new HttpClient(Handler) { Timeout = TimeSpan.FromMinutes(DefaultTimeoutDuration) }; Client.DefaultRequestHeaders.Clear(); Client.DefaultRequestHeaders.AcceptLanguage.Add(StringWithQualityHeaderValue.Parse("tr-Tr")); Client.DefaultRequestHeaders.AcceptLanguage.Add(StringWithQualityHeaderValue.Parse("en-US")); Client.DefaultRequestHeaders.ExpectContinue = false; Client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(MediaType.GetDescription())); Client.DefaultRequestHeaders.AcceptEncoding.Add(new StringWithQualityHeaderValue(Encoding.BodyName)); BaseUri = baseUri; }
/// <summary> /// Set media type /// </summary> /// <param name="mediaType">Request's media type</param> /// <returns></returns> /// <exception cref="ArgumentNullException"></exception> public RequestClient SetMediaType(MediaTypes mediaType) { if (Enum.IsDefined(typeof(MediaTypes), mediaType) == false) { throw new ArgumentException($"{nameof(mediaType)} is invalid."); } Client.DefaultRequestHeaders.Accept.Remove(new MediaTypeWithQualityHeaderValue(MediaType.GetDescription())); MediaType = mediaType; Client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(MediaType.GetDescription())); SetMediaTypeFormatter(MediaType); return(this); }