public IRequestRepo Create() { string TwoFaHandler(string login, bool isAutoRelogin) { Logger.Info($"Waiting 2FA code for {login}"); var code = _settings.TwoFaHandler?.Get(login, isAutoRelogin); Logger.Info($"Got 2FA code for {login}"); return(code); } IRequestRepo repo; switch (_settings.Protocol) { case Protocol.WebM1Bin: repo = new WebM1RequestRepo(_settings.Proxy, _credentials, TwoFaHandler, _settings.ListDepth); break; case Protocol.WebV2: repo = new WebV2RequestRepo(_settings.Proxy, _credentials, TwoFaHandler); break; default: throw new Exception("Unknown protocol"); } if (!string.IsNullOrWhiteSpace(_settings.UserAgent)) { repo.HttpSettings.UserAgent = _settings.UserAgent; } return(repo); }
public IRequestRepo Create() { string TwoFaHandler(string login, bool isAutoRelogin) => _settings.TwoFaHandler?.Get(login, isAutoRelogin); IRequestRepo repo; switch (_settings.Protocol) { case Protocol.WebM1Bin: repo = new WebM1RequestRepo(_proxy, _credentials, TwoFaHandler); break; case Protocol.WebV2: repo = new WebV2RequestRepo(_proxy, _credentials, TwoFaHandler); break; default: throw new Exception("Unknown protocol"); } if (!string.IsNullOrWhiteSpace(_settings.UserAgent)) { repo.HttpSettings.UserAgent = _settings.UserAgent; } return(repo); }