public DualSourceHTTPDownloader(DualSourceHTTPDownloadInfo info, IHttpClient hc = null, AuthenticationInfo?authentication = null, ProxyInfo?proxy = null, BaseMediaProcessor mediaProcessor = null) { Id = Guid.NewGuid().ToString(); var uri1 = new Uri(info.Uri1); var uri2 = new Uri(info.Uri2); this.state = new DualSourceHTTPDownloaderState { Url1 = uri1, Url2 = uri2, Id = Id, Cookies1 = info.Cookies1, Cookies2 = info.Cookies2, Headers1 = info.Headers1, Headers2 = info.Headers2, TempDir = Path.Combine(Config.Instance.TempDir, Id), Authentication = authentication, Proxy = proxy }; if (this.state.Authentication == null) { this.state.Authentication = Helpers.GetAuthenticationInfoFromConfig(this.state.Url1); } this.http = hc; this.TargetFileName = FileHelper.SanitizeFileName(info.File); this.mediaProcessor = mediaProcessor; }
public void SetDownloadInfo(DualSourceHTTPDownloadInfo info) { this.state.Url1 = new Uri(info.Uri1); this.state.Url2 = new Uri(info.Uri2); this.state.Cookies1 = info.Cookies1; this.state.Cookies2 = info.Cookies2; this.state.Headers1 = info.Headers1; this.state.Headers2 = info.Headers2; this.SaveState(); }