Пример #1
0
 public async Task Load(IStringDownloader downloader, Uri uri) {
     Uri = uri;
     var config = await SyncEvilGlobal.Yaml.GetYaml<SixRepoConfigDto>(uri).ConfigureAwait(false);
     Mods = config.Mods;
     Hosts = config.Hosts.ToList();
     Loaded = true;
 }
Пример #2
0
        public virtual async Task LoadConfigRemote(IStringDownloader downloader)
        {
            var uri  = Tools.Transfer.JoinUri(Uri, Repository.ConfigFileName);
            var data = await downloader.DownloadAsync(uri).ConfigureAwait(false);

            Config = SyncEvilGlobal.Yaml.NewFromYaml <SixRepoConfig>(data);
            if (Config.Hosts.Length == 0)
            {
                Config.Hosts = new[] { Uri }
            }
            ;

            Servers = (await Config.Servers.SelectAsync(y => GetServer(y, downloader))).ToDictionary(x => x.Key,
                                                                                                     x => x.Value);
        }

        async Task <KeyValuePair <string, SixRepoServer> > GetServer(string y, IStringDownloader downloader)
        {
            var uri = GetUri(y);

            try {
                return(new KeyValuePair <string, SixRepoServer>(y,
                                                                SyncEvilGlobal.Yaml.NewFromYaml <SixRepoServer>(await downloader.DownloadAsync(uri).ConfigureAwait(false))));
            } catch (WebException e) {
                throw new TransferError(
                          $"Problem while trying to access: {uri.AuthlessUri()}\n{e.Message}", e);
            }
        }
Пример #3
0
 public EvilGlobalServices(IFileDownloadHelper downloadHelper, IFileDownloader fileDownloader,
     IStringDownloader stringDownloader,
     Func<ExportLifetimeContext<IHostChecker>> getHostChecker) {
     DownloadHelper = downloadHelper;
     Downloader = fileDownloader;
     StringDownloader = stringDownloader;
     GetHostChecker = getHostChecker;
 }
Пример #4
0
        public async Task Load(IStringDownloader downloader, Uri uri)
        {
            Uri = uri;
            var config = await SyncEvilGlobal.Yaml.GetYaml <SixRepoConfigDto>(uri).ConfigureAwait(false);

            Mods   = config.Mods;
            Hosts  = config.Hosts.ToList();
            Loaded = true;
        }
Пример #5
0
 public EvilGlobalServices(IFileDownloadHelper downloadHelper, IFileDownloader fileDownloader,
                           IStringDownloader stringDownloader,
                           Func <ExportLifetimeContext <IHostChecker> > getHostChecker, Lazy <IYamlUtil> yaml)
 {
     DownloadHelper   = downloadHelper;
     Downloader       = fileDownloader;
     StringDownloader = stringDownloader;
     GetHostChecker   = getHostChecker;
     Yaml             = yaml;
 }
Пример #6
0
 public SearchService(DtoDownloader stringDownloader, IStringDownloader rawHttp)
 {
     _dtos = stringDownloader;
     _rawHttp = rawHttp;
 }
Пример #7
0
 public UserInformationService(DtoDownloader downloader, IStringDownloader stringDownloader)
 {
     _downloader = downloader;
     _rawHttp = stringDownloader;
 }
Пример #8
0
 public async Task Load(IStringDownloader downloader)
 {
     var config = await Tools.Transfer.GetYaml<SixRepoConfigDto>(_uri).ConfigureAwait(false);
     Mods = config.Mods;
     Hosts.Replace(config.Hosts);
 }