public async Task <AppendEntriesResponse> Send(AppendEntries appendEntries) { try { var serverToSendMessageTo = _serviceRegistry.Get(RaftyServiceDiscoveryName.Get()).First(x => x.Id == appendEntries.FollowerId); var json = JsonConvert.SerializeObject(appendEntries, Formatting.None, new JsonSerializerSettings { TypeNameHandling = TypeNameHandling.All }); var httpContent = new StringContent(json); httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json"); using (var httpClient = new HttpClient()) { httpClient.BaseAddress = serverToSendMessageTo.Location; var response = await httpClient.PostAsync(_appendEntriesUrl, httpContent); response.EnsureSuccessStatusCode(); var content = await response.Content.ReadAsStringAsync(); var appendEntriesResponse = JsonConvert.DeserializeObject <AppendEntriesResponse>(content); return(appendEntriesResponse); } } catch (Exception exception) { _logger.LogError(new EventId(1), exception, "Error in Send(AppendEntries appendEntries)"); throw; } }
protected override ISerializer <TModel> GetSerializer <TModel>() { Type serviceType = typeof(IBinarySerializer <TModel>); object instance = serviceRegistry.Get(serviceType); ISerializer <TModel> serializer = (IBinarySerializer <TModel>)instance; return(serializer); }
private IServiceConfig GetConfig(string service) { if (string.IsNullOrEmpty(service)) { return(null); } var config = _serviceRegistry.Get(service); if (config == null) { throw new ExpectationException($"Configuration for service \"{service}\" was not found."); } return(config); }
public HttpClientFactoryTests() { _serviceRegistry = A.Fake <IServiceRegistry>(); _config1 = A.Fake <IServiceConfig>(); A.CallTo(() => _serviceRegistry.Get(ServiceName)).Returns(_config1); A.CallTo(() => _serviceRegistry.GetAll()).Returns(new List <IServiceConfig> { _config1, A.Fake <IServiceConfig>() }); A.CallTo(() => _config1.AllowRedirect).Returns(true); A.CallTo(() => _config1.Timeout).Returns(TimeSpan.FromSeconds(222)); A.CallTo(() => _config1.BaseAddress).Returns("http://google.com"); A.CallTo(() => A.Fake <IServiceConfig>().AllowRedirect).Returns(false); A.CallTo(() => A.Fake <IServiceConfig>().Timeout).Returns(TimeSpan.FromSeconds(333)); A.CallTo(() => A.Fake <IServiceConfig>().BaseAddress).Returns("http://yandex.ru"); _underTest = new HttpClientFactory( _serviceRegistry ); }
public IQueryable <TModel> GetAll <TModel>(ISession currentSession) { IDao <TModel> genericDao = serviceRegistry.Get <IDao <TModel> >(); IQueryable <TModel> result = genericDao.GetAll(currentSession); return(result); }
public ISession Get <TModel>(IDao <TModel> dao, string sessionAlias) { Type daoType = dao.GetType(); Type baseParameterizedType = typeof(ILuceneDao <TModel>); bool isAssignableFrom = baseParameterizedType.IsAssignableFrom(daoType); if (!isAssignableFrom) { return(null); } ISessionProviderFactory <LuceneSession <TModel> > sessionProviderFactory = serviceRegistry.Get <ISessionProviderFactory <LuceneSession <TModel> > >(); ISessionProvider <LuceneSession <TModel> > sessionProvider = sessionProviderFactory.Build(sessionAlias); LuceneSession <TModel> luceneSession = sessionProvider.Current(); return(luceneSession); }
public void Create_When_ServiceName_Specified_But_Not_Found_Should_Throw_ExpectationException() { A.CallTo(() => _serviceRegistry.Get(ServiceName)).Returns(null); Assert.Throws <StLine.Exceptions.ExpectationException>(() => _underTest.Create(ServiceName)); }