The nested instance of FilterPipelineException serves no purpose but show the filter path.
Is it possible not to wrap EACH exception, and only re-throw the inner FilterPipelineExceptionexception with full filter path?
{
"TypeName": "Azos.Wave.FilterPipelineException",
"Message": ":>realip>callflow>Portal>session>dconv>latency>cors> [Azos.Wave.MvcException] MVC handler error in work processing: [Azos.Web.HTTPStatusException] 404 - Not found",
"Code": 0,
"Source": "Azos.Wave",
"StackTrace": " at Azos.Wave.WorkFilter.FilterWorkAsync(WorkContext work, CallChain callChain)\n at Azos.Wave.WorkFilter.InvokeNextWorkerAsync(WorkContext work, CallChain callChain)\n at G8.Server.Web.G8BackendInfoFilter.DoFilterWorkAsync(WorkContext work, CallChain callChain) in C:\\Zdev\\ghub\\g8\\src\\G8.Server\\Web\\G8BackendInfoFilter.cs:line 28\n at Azos.Wave.WorkFilter.FilterWorkAsync(WorkContext work, CallChain callChain)",
"AppId": "hub",
"AppName": "hub",
"ExternalStatus": null,
"InnerException": {
"TypeName": "Azos.Wave.FilterPipelineException",
"Message": ":>callflow>Portal>session>dconv>latency>cors> [Azos.Wave.MvcException] MVC handler error in work processing: [Azos.Web.HTTPStatusException] 404 - Not found",
"Code": 0,
"Source": "Azos.Wave",
"StackTrace": " at Azos.Wave.WorkFilter.FilterWorkAsync(WorkContext work, CallChain callChain)\n at Azos.Wave.WorkFilter.InvokeNextWorkerAsync(WorkContext work, CallChain callChain)\n at Azos.Wave.Filters.EffectiveCallerIPEndPointFilter.DoFilterWorkAsync(WorkContext work, CallChain callChain)\n at Azos.Wave.WorkFilter.FilterWorkAsync(WorkContext work, CallChain callChain)",
"AppId": "hub",
"AppName": "hub",
"ExternalStatus": null,
"InnerException": {
"TypeName": "Azos.Wave.FilterPipelineException",
"Message": ":>Portal>session>dconv>latency>cors> [Azos.Wave.MvcException] MVC handler error in work processing: [Azos.Web.HTTPStatusException] 404 - Not found",
"Code": 0,
"Source": "Azos.Wave",
"StackTrace": " at Azos.Wave.WorkFilter.FilterWorkAsync(WorkContext work, CallChain callChain)\n at Azos.Wave.WorkFilter.InvokeNextWorkerAsync(WorkContext work, CallChain callChain)\n at Azos.Wave.Filters.DistributedCallFlowFilter.DoFilterWorkAsync(WorkContext work, CallChain callChain)\n at Azos.Wave.WorkFilter.FilterWorkAsync(WorkContext work, CallChain callChain)",
"AppId": "hub",
"AppName": "hub",
"ExternalStatus": null,
"InnerException": {
"TypeName": "Azos.Wave.FilterPipelineException",
"Message": ":>session>dconv>latency>cors> [Azos.Wave.MvcException] MVC handler error in work processing: [Azos.Web.HTTPStatusException] 404 - Not found",
"Code": 0,
"Source": "Azos.Wave",
"StackTrace": " at Azos.Wave.WorkFilter.FilterWorkAsync(WorkContext work, CallChain callChain)\n at Azos.Wave.WorkFilter.InvokeNextWorkerAsync(WorkContext work, CallChain callChain)\n at Azos.Wave.Filters.PortalFilter.DoFilterWorkAsync(WorkContext work, CallChain callChain)\n at Azos.Wave.WorkFilter.FilterWorkAsync(WorkContext work, CallChain callChain)",
"AppId": "hub",
"AppName": "hub",
"ExternalStatus": null,
"InnerException": {
"TypeName": "Azos.Wave.FilterPipelineException",
"Message": ":>dconv>latency>cors> [Azos.Wave.MvcException] MVC handler error in work processing: [Azos.Web.HTTPStatusException] 404 - Not found",
"Code": 0,
"Source": "Azos.Wave",
"StackTrace": " at Azos.Wave.WorkFilter.FilterWorkAsync(WorkContext work, CallChain callChain)\n at Azos.Wave.WorkFilter.InvokeNextWorkerAsync(WorkContext work, CallChain callChain)\n at Azos.Wave.Filters.SessionFilter.DoFilterWorkAsync(WorkContext work, CallChain callChain)\n at Azos.Wave.WorkFilter.FilterWorkAsync(WorkContext work, CallChain callChain)",
"AppId": "hub",
"AppName": "hub",
"ExternalStatus": null,
"InnerException": {
"TypeName": "Azos.Wave.FilterPipelineException",
"Message": ":>latency>cors> [Azos.Wave.MvcException] MVC handler error in work processing: [Azos.Web.HTTPStatusException] 404 - Not found",
"Code": 0,
"Source": "Azos.Wave",
"StackTrace": " at Azos.Wave.WorkFilter.FilterWorkAsync(WorkContext work, CallChain callChain)\n at Azos.Wave.WorkFilter.InvokeNextWorkerAsync(WorkContext work, CallChain callChain)\n at G8.Server.Web.DataConversionFilter.DoFilterWorkAsync(WorkContext work, CallChain callChain) in C:\\Zdev\\ghub\\g8\\src\\G8.Server\\Web\\DataConversionFilter.cs:line 67\n at Azos.Wave.WorkFilter.FilterWorkAsync(WorkContext work, CallChain callChain)",
"AppId": "hub",
"AppName": "hub",
"ExternalStatus": null,
"InnerException": {
"TypeName": "Azos.Wave.FilterPipelineException",
"Message": ":>cors> [Azos.Wave.MvcException] MVC handler error in work processing: [Azos.Web.HTTPStatusException] 404 - Not found",
"Code": 0,
"Source": "Azos.Wave",
"StackTrace": " at Azos.Wave.WorkFilter.FilterWorkAsync(WorkContext work, CallChain callChain)\n at Azos.Wave.WorkFilter.InvokeNextWorkerAsync(WorkContext work, CallChain callChain)\n at Azos.Wave.Filters.LatencyInstrumentationFilter.DoFilterWorkAsync(WorkContext work, CallChain callChain)\n at Azos.Wave.WorkFilter.FilterWorkAsync(WorkContext work, CallChain callChain)",
"AppId": "hub",
"AppName": "hub",
"ExternalStatus": null,
"InnerException": {
"TypeName": "Azos.Wave.MvcException",
"Message": "MVC handler error in work processing: [Azos.Web.HTTPStatusException] 404 - Not found",
"Code": 0,
"Source": "Azos.Wave",
"StackTrace": " at Azos.Wave.Handlers.MvcHandler.DoError(WorkContext work, Exception error)\n at Azos.Wave.Handlers.TypeLookupHandler`1.DoHandleWorkAsync(WorkContext work)\n at Azos.Wave.WorkHandler.HandleWorkAsync(WorkContext work)\n at Azos.Wave.WorkHandler.FilterAndHandleWorkAsync(WorkContext work)\n at Azos.Wave.CompositeWorkHandler.DoHandleWorkAsync(WorkContext work)\n at Azos.Wave.WorkHandler.HandleWorkAsync(WorkContext work)\n at Azos.Wave.WorkHandler.FilterAndHandleWorkAsync(WorkContext work)\n at Azos.Wave.CompositeWorkHandler.DoHandleWorkAsync(WorkContext work)\n at Azos.Wave.WorkHandler.HandleWorkAsync(WorkContext work)\n at Azos.Wave.WorkFilter.InvokeNextWorkerAsync(WorkContext work, CallChain callChain)\n at G8.Server.Web.G8CorsFilter.DoFilterWorkAsync(WorkContext work, CallChain callChain) in C:\\Zdev\\ghub\\g8\\src\\G8.Server\\Web\\G8CorsFilter.cs:line 101\n at Azos.Wave.WorkFilter.FilterWorkAsync(WorkContext work, CallChain callChain)",
"AppId": "hub",
"AppName": "hub",
"ExternalStatus": null,
"InnerException": {
"TypeName": "Azos.Web.HTTPStatusException",
"Message": "404 - Not found",
"Code": 0,
"Source": "",
"StackTrace": "",
"AppId": "hub",
"AppName": "hub",
"ExternalStatus": {
"ns": "wave.mvc",
"type": "HTTPStatusException",
"code": 0,
"http::code": 404,
"http::descr": "Not found"
},
"InnerException": null
}
}
}
}
}
}
}
}
}
The nested instance of
FilterPipelineException
serves no purpose but show the filter path. Is it possible not to wrap EACH exception, and only re-throw the innerFilterPipelineExceptionexception
with full filter path?