renamed from service to repository, makes more sense i guess

This commit is contained in:
TomPallister 2016-10-05 20:49:22 +01:00
parent 229c0878ed
commit f505fd6e90
7 changed files with 24 additions and 29 deletions

View File

@ -2,7 +2,7 @@ using Ocelot.Library.Infrastructure.Responses;
namespace Ocelot.Library.Infrastructure.Services namespace Ocelot.Library.Infrastructure.Services
{ {
public interface IRequestDataService public interface IScopedRequestDataRepository
{ {
Response Add<T>(string key, T value); Response Add<T>(string key, T value);
Response<T> Get<T>(string key); Response<T> Get<T>(string key);

View File

@ -5,11 +5,11 @@ using Ocelot.Library.Infrastructure.Responses;
namespace Ocelot.Library.Infrastructure.Services namespace Ocelot.Library.Infrastructure.Services
{ {
public class RequestDataService : IRequestDataService public class ScopedRequestDataRepository : IScopedRequestDataRepository
{ {
private readonly IHttpContextAccessor _httpContextAccessor; private readonly IHttpContextAccessor _httpContextAccessor;
public RequestDataService(IHttpContextAccessor httpContextAccessor) public ScopedRequestDataRepository(IHttpContextAccessor httpContextAccessor)
{ {
_httpContextAccessor = httpContextAccessor; _httpContextAccessor = httpContextAccessor;
} }

View File

@ -11,17 +11,17 @@ namespace Ocelot.Library.Middleware
private readonly RequestDelegate _next; private readonly RequestDelegate _next;
private readonly IDownstreamRouteFinder _downstreamRouteFinder; private readonly IDownstreamRouteFinder _downstreamRouteFinder;
private readonly IHttpResponder _responder; private readonly IHttpResponder _responder;
private readonly IRequestDataService _requestDataService; private readonly IScopedRequestDataRepository _scopedRequestDataRepository;
public DownstreamRouteFinderMiddleware(RequestDelegate next, public DownstreamRouteFinderMiddleware(RequestDelegate next,
IDownstreamRouteFinder downstreamRouteFinder, IDownstreamRouteFinder downstreamRouteFinder,
IHttpResponder responder, IHttpResponder responder,
IRequestDataService requestDataService) IScopedRequestDataRepository scopedRequestDataRepository)
{ {
_next = next; _next = next;
_downstreamRouteFinder = downstreamRouteFinder; _downstreamRouteFinder = downstreamRouteFinder;
_responder = responder; _responder = responder;
_requestDataService = requestDataService; _scopedRequestDataRepository = scopedRequestDataRepository;
} }
public async Task Invoke(HttpContext context) public async Task Invoke(HttpContext context)
@ -36,7 +36,7 @@ namespace Ocelot.Library.Middleware
return; return;
} }
_requestDataService.Add("DownstreamRoute", downstreamRoute.Data); _scopedRequestDataRepository.Add("DownstreamRoute", downstreamRoute.Data);
await _next.Invoke(context); await _next.Invoke(context);
} }

View File

@ -11,23 +11,23 @@ namespace Ocelot.Library.Middleware
{ {
private readonly RequestDelegate _next; private readonly RequestDelegate _next;
private readonly IDownstreamUrlTemplateVariableReplacer _urlReplacer; private readonly IDownstreamUrlTemplateVariableReplacer _urlReplacer;
private readonly IRequestDataService _requestDataService; private readonly IScopedRequestDataRepository _scopedRequestDataRepository;
private readonly IHttpResponder _responder; private readonly IHttpResponder _responder;
public DownstreamUrlCreatorMiddleware(RequestDelegate next, public DownstreamUrlCreatorMiddleware(RequestDelegate next,
IDownstreamUrlTemplateVariableReplacer urlReplacer, IDownstreamUrlTemplateVariableReplacer urlReplacer,
IRequestDataService requestDataService, IScopedRequestDataRepository scopedRequestDataRepository,
IHttpResponder responder) IHttpResponder responder)
{ {
_next = next; _next = next;
_urlReplacer = urlReplacer; _urlReplacer = urlReplacer;
_requestDataService = requestDataService; _scopedRequestDataRepository = scopedRequestDataRepository;
_responder = responder; _responder = responder;
} }
public async Task Invoke(HttpContext context) public async Task Invoke(HttpContext context)
{ {
var downstreamRoute = _requestDataService.Get<DownstreamRoute>("DownstreamRoute"); var downstreamRoute = _scopedRequestDataRepository.Get<DownstreamRoute>("DownstreamRoute");
if (downstreamRoute.IsError) if (downstreamRoute.IsError)
{ {
@ -37,7 +37,7 @@ namespace Ocelot.Library.Middleware
var downstreamUrl = _urlReplacer.ReplaceTemplateVariables(downstreamRoute.Data); var downstreamUrl = _urlReplacer.ReplaceTemplateVariables(downstreamRoute.Data);
_requestDataService.Add("DownstreamUrl", downstreamUrl); _scopedRequestDataRepository.Add("DownstreamUrl", downstreamUrl);
await _next.Invoke(context); await _next.Invoke(context);
} }

View File

@ -11,22 +11,22 @@ namespace Ocelot.Library.Middleware
private readonly RequestDelegate _next; private readonly RequestDelegate _next;
private readonly IHttpRequester _requester; private readonly IHttpRequester _requester;
private readonly IHttpResponder _responder; private readonly IHttpResponder _responder;
private readonly IRequestDataService _requestDataService; private readonly IScopedRequestDataRepository _scopedRequestDataRepository;
public HttpRequesterMiddleware(RequestDelegate next, public HttpRequesterMiddleware(RequestDelegate next,
IHttpRequester requester, IHttpRequester requester,
IHttpResponder responder, IHttpResponder responder,
IRequestDataService requestDataService) IScopedRequestDataRepository scopedRequestDataRepository)
{ {
_next = next; _next = next;
_requester = requester; _requester = requester;
_responder = responder; _responder = responder;
_requestDataService = requestDataService; _scopedRequestDataRepository = scopedRequestDataRepository;
} }
public async Task Invoke(HttpContext context) public async Task Invoke(HttpContext context)
{ {
var downstreamUrl = _requestDataService.Get<string>("DownstreamUrl"); var downstreamUrl = _scopedRequestDataRepository.Get<string>("DownstreamUrl");
if (downstreamUrl.IsError) if (downstreamUrl.IsError)
{ {

View File

@ -47,7 +47,7 @@ namespace Ocelot
// see this for why we register this as singleton http://stackoverflow.com/questions/37371264/invalidoperationexception-unable-to-resolve-service-for-type-microsoft-aspnetc // see this for why we register this as singleton http://stackoverflow.com/questions/37371264/invalidoperationexception-unable-to-resolve-service-for-type-microsoft-aspnetc
services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>(); services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();
services.AddScoped<IRequestDataService, RequestDataService>(); services.AddScoped<IScopedRequestDataRepository, ScopedRequestDataRepository>();
} }
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.

View File

@ -1,9 +1,4 @@
using System; using Microsoft.AspNetCore.Http;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Http;
using Moq;
using Ocelot.Library.Infrastructure.Responses; using Ocelot.Library.Infrastructure.Responses;
using Ocelot.Library.Infrastructure.Services; using Ocelot.Library.Infrastructure.Services;
using Shouldly; using Shouldly;
@ -12,19 +7,19 @@ using Xunit;
namespace Ocelot.UnitTests.Services namespace Ocelot.UnitTests.Services
{ {
public class RequestDataServiceTests public class ScopedRequestDataRepositoryTests
{ {
private IRequestDataService _requestDataService; private IScopedRequestDataRepository _scopedRequestDataRepository;
private IHttpContextAccessor _httpContextAccesor; private IHttpContextAccessor _httpContextAccesor;
private string _key; private string _key;
private object _toAdd; private object _toAdd;
private Response<int[]> _result; private Response<int[]> _result;
public RequestDataServiceTests() public ScopedRequestDataRepositoryTests()
{ {
_httpContextAccesor = new HttpContextAccessor(); _httpContextAccesor = new HttpContextAccessor();
_httpContextAccesor.HttpContext = new DefaultHttpContext(); _httpContextAccesor.HttpContext = new DefaultHttpContext();
_requestDataService = new RequestDataService(_httpContextAccesor); _scopedRequestDataRepository = new ScopedRequestDataRepository(_httpContextAccesor);
} }
[Fact] [Fact]
@ -53,7 +48,7 @@ namespace Ocelot.UnitTests.Services
private void WhenIGetTheItem() private void WhenIGetTheItem()
{ {
_result = _requestDataService.Get<int[]>(_key); _result = _scopedRequestDataRepository.Get<int[]>(_key);
} }
private void GivenThereIsAnItemInTheContext(string key) private void GivenThereIsAnItemInTheContext(string key)
@ -71,7 +66,7 @@ namespace Ocelot.UnitTests.Services
private void WhenIAddTheItem() private void WhenIAddTheItem()
{ {
_requestDataService.Add(_key, _toAdd); _scopedRequestDataRepository.Add(_key, _toAdd);
} }
private void ThenTheItemIsAdded() private void ThenTheItemIsAdded()