2017-02-08 14:52:24 +00:00
|
|
|
|
using System;
|
|
|
|
|
using System.Configuration;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
|
|
|
|
|
namespace Tapeti
|
|
|
|
|
{
|
|
|
|
|
public class TapetiAppSettingsConnectionParams : TapetiConnectionParams
|
|
|
|
|
{
|
|
|
|
|
public const string DefaultPrefix = "rabbitmq:";
|
|
|
|
|
public const string KeyHostname = "hostname";
|
|
|
|
|
public const string KeyPort = "port";
|
|
|
|
|
public const string KeyVirtualHost = "virtualhost";
|
|
|
|
|
public const string KeyUsername = "username";
|
|
|
|
|
public const string KeyPassword = "password";
|
|
|
|
|
public const string KeyPrefetchCount = "prefetchcount";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public TapetiAppSettingsConnectionParams(string prefix = DefaultPrefix)
|
|
|
|
|
{
|
|
|
|
|
var keys = ConfigurationManager.AppSettings.AllKeys;
|
2018-12-19 19:50:56 +00:00
|
|
|
|
|
|
|
|
|
void GetAppSetting(string key, Action<string> setValue)
|
2017-02-08 14:52:24 +00:00
|
|
|
|
{
|
2018-12-19 19:50:56 +00:00
|
|
|
|
if (keys.Contains(prefix + key)) setValue(ConfigurationManager.AppSettings[prefix + key]);
|
|
|
|
|
}
|
2017-02-08 14:52:24 +00:00
|
|
|
|
|
|
|
|
|
|
2018-12-19 19:50:56 +00:00
|
|
|
|
GetAppSetting(KeyHostname, value => HostName = value);
|
|
|
|
|
GetAppSetting(KeyPort, value => Port = int.Parse(value));
|
|
|
|
|
GetAppSetting(KeyVirtualHost, value => VirtualHost = value);
|
|
|
|
|
GetAppSetting(KeyUsername, value => Username = value);
|
|
|
|
|
GetAppSetting(KeyPassword, value => Password = value);
|
|
|
|
|
GetAppSetting(KeyPrefetchCount, value => PrefetchCount = ushort.Parse(value));
|
2017-02-08 14:52:24 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|