Ejemplo n.º 1
0
        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;
        }
Ejemplo n.º 2
0
 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();
 }