public EventBus(IMqConnection connection, ILogger <EventBus> logger, IEventBusSubscriptionsManager subsManager, IServiceProvider serviceProvider, string queueName) { _connection = connection; _logger = logger; _queueName = queueName; _consumerChannel = CreateConsumerChannel(); _subsManager = subsManager; _serviceProvider = serviceProvider; }
public MqServerRequestContext(IMqConnection mqConnection, IFeatureCollection serverFeatures) { _mqConnection = mqConnection ?? throw new ArgumentNullException(nameof(mqConnection)); _serverFeatures = serverFeatures ?? throw new ArgumentNullException(nameof(serverFeatures)); _pathBaseBase = "/"; if (_mqConnection.VirtualHost != null) { _pathBaseBase += Uri.EscapeDataString(_mqConnection.VirtualHost); } else { _pathBaseBase += Uri.EscapeDataString("/"); } }
public async Task ProcessRequestAsync <TContext>(IMqConnection connection, IHttpApplication <TContext> application, IMqRequestFeature requestFeature) { try { var serverContext = _serverContextFactory.CreateContext(connection); serverContext.InitializeRequest(requestFeature); var features = serverContext.Features; var context = application.CreateContext(features); Exception contextException = null; try { Exception requestException = null; try { await application.ProcessRequestAsync(context); } catch (Exception ex) { requestException = ex; _logger.LogError(ex, "Request processing error"); } if (requestException != null) { serverContext.SetError(StatusCodes.Status500InternalServerError, requestException); } await serverContext.SendResponseAsync(); } catch (Exception ex) { contextException = ex; throw; } finally { application.DisposeContext(context, contextException); } } catch (Exception ex) { _logger.LogError(ex, "Processing error"); } }
public IMqServerRequestContext CreateContext(IMqConnection connection) { var context = new MqServerRequestContext(connection, ServerFeatures); return(context); }
public MqConsumer(IMqConnection connection, IMqRequestProcessor requestProcessor) : base(connection?.Model) { _connection = connection; _requestProcessor = requestProcessor; }
public abstract Task ProcessRequestAsync(IMqConnection connection, IMqRequestFeature requestFeature);