using FastEndpoints; using Medusa.Core.Extensions; using Medusa.Core.Middlewares; using Medusa.Core.Request; using RabbitMQ.Client.Core.DependencyInjection; using RabbitMQ.Client.Core.DependencyInjection.Configuration; using System.Text; Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); var builder = WebApplication.CreateBuilder(args); builder.Services.AddFastEndpoints(); builder.Services.AddHandlers(); var uri = new Uri(Environment.GetEnvironmentVariable("rabbitHostName")); var userInfo = uri.UserInfo.Split(':'); var rabbitMqConfiguration = new RabbitMqServiceOptions { HostName = uri.Host, Port = uri.Port, UserName = userInfo[0], Password = userInfo[1] }; builder.Services.AddRabbitMqServices(rabbitMqConfiguration); builder.Services.AddRabbitMqProducer(rabbitMqConfiguration); builder.AddServiceDefaults(); // Add services to the container. var app = builder.Build(); app.UseMiddleware(); app.UseFastEndpoints(); app.UseHandlers(); app.Run();