in src/Covi/Services/Http/ExceptionsHandling/ErrorResponseHandler.cs [34:75]
public bool TryHandle(
Exception operationException,
out Exception generatedException,
CancellationToken cancellationToken = default(CancellationToken))
{
generatedException = null;
ResponseError payload = null;
switch (operationException)
{
case OperationCanceledException operationCanceledException:
generatedException = !cancellationToken.IsCancellationRequested
? (Exception) new ConnectionTimeoutException()
: operationCanceledException;
return true;
case ConnectivityException connectivityException:
generatedException = connectivityException;
return true;
case HttpOperationException httpException:
{
var context = _httpExceptionContextRetriever.RetrieveContext(httpException);
if (TryHandleHttpExceptionByStatusCode(context, out generatedException))
{
return true;
}
payload = context.ResponseError;
if (payload != null)
{
if (TryHandleBusinessExceptionByPayload(payload, out generatedException))
{
return true;
}
}
break;
}
}
generatedException = new UnknownException(operationException, payload);
return true;
}