Add MiddelwareName into base OcelotMiddleware

Following TomPallister suggestion, it makes sense to call GetType only
once and in the constructor (middlewares are only instantiated once). I
have also taken the oppturniuty to add it as a property on the base
middleware allowing any other middleware to utlise it as well.
This commit is contained in:
Marc Denman 2017-03-14 09:45:07 +00:00
parent 3fb83077fb
commit a007887461
2 changed files with 8 additions and 5 deletions

View File

@ -14,8 +14,11 @@ namespace Ocelot.Middleware
protected OcelotMiddleware(IRequestScopedDataRepository requestScopedDataRepository) protected OcelotMiddleware(IRequestScopedDataRepository requestScopedDataRepository)
{ {
_requestScopedDataRepository = requestScopedDataRepository; _requestScopedDataRepository = requestScopedDataRepository;
MiddlwareName = this.GetType().Name;
} }
public string MiddlwareName { get; }
public bool PipelineError public bool PipelineError
{ {
get get

View File

@ -34,17 +34,17 @@ namespace Ocelot.Responder.Middleware
public async Task Invoke(HttpContext context) public async Task Invoke(HttpContext context)
{ {
_logger.LogDebug($"entered {this.GetType().Name}"); _logger.LogDebug($"entered {MiddlwareName}");
_logger.LogDebug($"invoking next middleware from {this.GetType().Name}"); _logger.LogDebug($"invoking next middleware from {MiddlwareName}");
await _next.Invoke(context); await _next.Invoke(context);
_logger.LogDebug($"returned to {this.GetType().Name} after next middleware completed"); _logger.LogDebug($"returned to {MiddlwareName} after next middleware completed");
if (PipelineError) if (PipelineError)
{ {
var errors = PipelineErrors; var errors = PipelineErrors;
_logger.LogDebug($"{errors.Count} pipeline errors found in {this.GetType().Name}. Setting error response status code"); _logger.LogDebug($"{errors.Count} pipeline errors found in {MiddlwareName}. Setting error response status code");
SetErrorResponse(context, errors); SetErrorResponse(context, errors);
} }
@ -53,7 +53,7 @@ namespace Ocelot.Responder.Middleware
_logger.LogDebug("no pipeline errors, setting and returning completed response"); _logger.LogDebug("no pipeline errors, setting and returning completed response");
await _responder.SetResponseOnHttpContext(context, HttpResponseMessage); await _responder.SetResponseOnHttpContext(context, HttpResponseMessage);
} }
_logger.LogDebug($"completed {this.GetType().Name}"); _logger.LogDebug($"completed {MiddlwareName}");
} }
private void SetErrorResponse(HttpContext context, List<Error> errors) private void SetErrorResponse(HttpContext context, List<Error> errors)