public IMediaWikiConfiguration GetConfigurationForChannel(string channel) { lock (this.cache) { if (this.cache.ContainsKey(channel)) { return(this.cache[channel]); } var config = new MediaWikiConfiguration(this.channelMatch.Replace(channel, this.urlReplacement), this.userAgent, this.username, this.password); this.cache.Add(channel, config); return(config); } }
public WikimediaUrlShorteningService( ILogger logger, IShortUrlCacheService shortUrlCacheService, IMediaWikiApiTypedFactory apiTypedFactory, BotConfiguration configuration, IUrlShorteningService secondaryShortener, WikimediaUrlShortnerConfiguration shortenerConfiguration) : base(logger, shortUrlCacheService) { this.logger = logger; this.apiTypedFactory = apiTypedFactory; this.secondaryShortener = (UrlShorteningServiceBase)secondaryShortener; this.allowedDomains = shortenerConfiguration.AllowedDomains.Select(x => new Regex(x)).ToList(); this.mediaWikiConfig = new MediaWikiConfiguration( shortenerConfiguration.MediaWikiApiEndpoint, configuration.UserAgent, shortenerConfiguration.MediaWikiApiUsername, shortenerConfiguration.MediaWikiApiPassword); }
public IMediaWikiApi GetApi(string apiUrl, string username, string password) { var mwConfig = new MediaWikiConfiguration(apiUrl, this.config.UserAgent, username, password); return(this.factory.Create <IMediaWikiApi>(mwConfig)); }
public IMediaWikiApi GetApi(MediaWikiSite site) { var mwConfig = new MediaWikiConfiguration(site.Api, this.config.UserAgent, site.Username, site.Password); return(this.factory.Create <IMediaWikiApi>(mwConfig)); }
public MapEntry(string channel, MediaWikiConfiguration configuration) { this.Channel = channel; this.Configuration = configuration; }