/
vshmidt
/
masstransit
Обзор
Документация
Войти
/
vshmidt
/
masstransit
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
src/MassTransit/Middleware/InternalOutboxExtensions.cs
34 строки
1 KB
Chris Patterson
Massive file cleanup
27 мар 2024, 02:43
27 мар 2024, 02:43
2ac69e8
Код
Авторство
О чём код?
namespace MassTransit.Middleware { using InMemoryOutbox; using Transports; public static class InternalOutboxExtensions { internal static ISendEndpoint SkipOutbox(this ISendEndpoint endpoint) { if (endpoint is ConsumeSendEndpoint consumeSendEndpoint) endpoint = consumeSendEndpoint.Endpoint; if (endpoint is OutboxSendEndpoint outboxSendEndpoint) endpoint = outboxSendEndpoint.Endpoint; if (endpoint is Outbox.OutboxSendEndpoint outboxEndpoint) return outboxEndpoint.Endpoint; return endpoint; } public static ConsumeContext SkipOutbox(ConsumeContext context) { while (context.TryGetPayload<InMemoryOutboxConsumeContext>(out var outboxConsumeContext)) context = outboxConsumeContext.CapturedContext; while (context.TryGetPayload<OutboxConsumeContext>(out var outboxConsumeContext)) context = outboxConsumeContext.CapturedContext; return context; } } }