private static HttpClient ConfigureHttpClient(WebDavClientParams @params) { var httpHandler = new HttpClientHandler { AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip, PreAuthenticate = @params.PreAuthenticate, UseDefaultCredentials = @params.UseDefaultCredentials, UseProxy = @params.UseProxy }; if (@params.Credentials != null) { httpHandler.Credentials = @params.Credentials; httpHandler.UseDefaultCredentials = false; } if (@params.Proxy != null) { httpHandler.Proxy = @params.Proxy; } var httpClient = new HttpClient(httpHandler, true) { BaseAddress = @params.BaseAddress, Timeout = @params.Timeout }; foreach (var header in @params.DefaultRequestHeaders) { httpClient.DefaultRequestHeaders.Add(header.Key, header.Value); } return(httpClient); }
/// <summary> /// Initializes a new instance of the <see cref="WebDavClient"/> class. /// </summary> /// <param name="params">The parameters of the WebDAV client.</param> public WebDavClient(WebDavClientParams @params) { SetWebDavDispatcher(new WebDavDispatcher(ConfigureHttpClient(@params))); var lockResponseParser = new LockResponseParser(); SetPropfindResponseParser(new PropfindResponseParser(lockResponseParser)); SetProppatchResponseParser(new ProppatchResponseParser()); SetLockResponseParser(lockResponseParser); }
private static HttpClient ConfigureHttpClient(WebDavClientParams @params) { HttpMessageHandler httpMessageHandler = @params.HttpMessageHandler; if (httpMessageHandler == null) { var httpHandler = new HttpClientHandler(); // Fixes for Blazor WASM if (!RuntimeUtils.IsBlazorWASM) { httpHandler.UseDefaultCredentials = @params.UseDefaultCredentials; httpHandler.PreAuthenticate = @params.PreAuthenticate; httpHandler.UseProxy = @params.UseProxy; if (@params.Credentials != null) { httpHandler.Credentials = @params.Credentials; } if (@params.Proxy != null) { httpHandler.Proxy = @params.Proxy; } } // Fix for Blazor WASM if (httpHandler.SupportsAutomaticDecompression) { httpHandler.AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip; } httpMessageHandler = httpHandler; } HttpClient httpClient; if (RuntimeUtils.IsBlazorWASM) { httpClient = new HttpClient { BaseAddress = @params.BaseAddress, Timeout = @params.Timeout }; } else { httpClient = new HttpClient(httpMessageHandler, true) { BaseAddress = @params.BaseAddress, Timeout = @params.Timeout }; } foreach (var header in @params.DefaultRequestHeaders) { httpClient.DefaultRequestHeaders.Add(header.Key, header.Value); } return(httpClient); }
public WebDavClient([NotNull] WebDavClientParams @params) : this(ConfigureHttpClient(@params)) { Check.NotNull(@params, nameof(@params)); }
/// <summary> /// Initializes a new instance of the <see cref="WebDavClient"/> class. /// </summary> /// <param name="params">The parameters of the WebDAV client.</param> public WebDavClient(WebDavClientParams @params) { Initialize(ConfigureHttpClient(@params)); }