Medusa-CS/Medusa.Core/Program.cs

44 lines
1019 B
C#

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<BodyParsingMiddleware>();
app.UseFastEndpoints();
app.UseHandlers();
app.Run();