mirror of
https://github.com/alex289/CleanArchitecture.git
synced 2025-06-29 18:21:08 +00:00
41 lines
1.4 KiB
C#
41 lines
1.4 KiB
C#
using System;
|
|
using CleanArchitecture.Domain.Rabbitmq;
|
|
using Microsoft.Extensions.Configuration;
|
|
|
|
namespace CleanArchitecture.Api.Extensions;
|
|
|
|
public static class ConfigurationExtensions
|
|
{
|
|
public static RabbitMqConfiguration GetRabbitMqConfiguration(
|
|
this IConfiguration configuration)
|
|
{
|
|
var isAspire = configuration["ASPIRE_ENABLED"] == "true";
|
|
|
|
var rabbitEnabled = configuration["RabbitMQ:Enabled"];
|
|
var rabbitHost = configuration["RabbitMQ:Host"];
|
|
var rabbitPort = configuration["RabbitMQ:Port"];
|
|
var rabbitUser = configuration["RabbitMQ:Username"];
|
|
var rabbitPass = configuration["RabbitMQ:Password"];
|
|
|
|
if (isAspire)
|
|
{
|
|
rabbitEnabled = "true";
|
|
var connectionString = configuration["ConnectionStrings:RabbitMq"];
|
|
|
|
var rabbitUri = new Uri(connectionString!);
|
|
rabbitHost = rabbitUri.Host;
|
|
rabbitPort = rabbitUri.Port.ToString();
|
|
rabbitUser = rabbitUri.UserInfo.Split(':')[0];
|
|
rabbitPass = rabbitUri.UserInfo.Split(':')[1];
|
|
}
|
|
|
|
return new RabbitMqConfiguration()
|
|
{
|
|
Host = rabbitHost ?? "",
|
|
Port = int.Parse(rabbitPort ?? "0"),
|
|
Enabled = bool.Parse(rabbitEnabled ?? "false"),
|
|
Username = rabbitUser ?? "",
|
|
Password = rabbitPass ?? ""
|
|
};
|
|
}
|
|
} |