mirror of
https://github.com/nsnail/Ocelot.git
synced 2025-04-22 06:22:50 +08:00
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:
parent
3fb83077fb
commit
a007887461
@ -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
|
||||||
|
@ -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)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user