stevejgordon / CorrelationId

An ASP.NET Core middleware component which synchronises a correlation ID for cross API request logging.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Provide option for ICorrelationIdProvider to return Task<string>

VKAlwaysWin opened this issue · comments

Depends on provided HttpContext.Request.Body I may choose different strategies for CorrelationId value.
To achieve that I am providing custom ICorrelationIdProvider, which is working great.

At the same time it is not possible to read body with Body.ReadToEndAsync, because GenerateCorrelationId return pure string, not Task
To achieve what I want I may use sync operation like ReadToEnd or do ReadToEndAsync.GetAwaiter().GetResult()

Both are not the best options.

Possible solution is to change:
To be this call awaitable
Change default strategies to return Task.FromResult()

Could you please share your thoughts ?

Possible PR #95