diff --git a/SpotifyAPI/Local/RemoteHandler.cs b/SpotifyAPI/Local/RemoteHandler.cs
index fa1eac03..ccc4d8dc 100644
--- a/SpotifyAPI/Local/RemoteHandler.cs
+++ b/SpotifyAPI/Local/RemoteHandler.cs
@@ -13,7 +13,12 @@ namespace SpotifyAPI.Local
public string OauthKey { get; private set; }
public string CfidKey { get; private set; }
- public const string Host = "127.0.0.1"; //Localhost since domain fails to resolve on some hosts
+ private SpotifyLocalAPIConfig _config;
+
+ public RemoteHandler(SpotifyLocalAPIConfig config)
+ {
+ _config = config;
+ }
internal Boolean Init()
{
@@ -103,7 +108,7 @@ namespace SpotifyAPI.Local
parameters += "&returnon=login%2Clogout%2Cplay%2Cpause%2Cerror%2Cap";
}
- string address = "https://" + Host + ":4371/" + request + parameters;
+ string address = $"{_config.HostUrl}:{_config.Port}/{request}{parameters}";
string response = "";
try
{
@@ -144,7 +149,7 @@ namespace SpotifyAPI.Local
parameters += "&returnon=login%2Clogout%2Cplay%2Cpause%2Cerror%2Cap";
}
- string address = "https://" + Host + ":4371/" + request + parameters;
+ string address = $"{_config.HostUrl}:{_config.Port}/{request}{parameters}";
string response = "";
try
{
diff --git a/SpotifyAPI/Local/SpotifyLocalAPI.cs b/SpotifyAPI/Local/SpotifyLocalAPI.cs
index 276ce758..d5707b85 100644
--- a/SpotifyAPI/Local/SpotifyLocalAPI.cs
+++ b/SpotifyAPI/Local/SpotifyLocalAPI.cs
@@ -65,10 +65,16 @@ namespace SpotifyAPI.Local
public SpotifyLocalAPI(int timerIntervall = 50)
{
- _rh = new RemoteHandler();
+ _rh = new RemoteHandler(new SpotifyLocalAPIConfig());
AttachTimer(timerIntervall);
}
+ public SpotifyLocalAPI(SpotifyLocalAPIConfig config)
+ {
+ _rh = new RemoteHandler(config);
+ AttachTimer(config.TimerInterval);
+ }
+
private void AttachTimer(int intervall)
{
_eventTimer = new Timer
diff --git a/SpotifyAPI/Local/SpotifyLocalAPIConfig.cs b/SpotifyAPI/Local/SpotifyLocalAPIConfig.cs
new file mode 100644
index 00000000..a2ea6fd9
--- /dev/null
+++ b/SpotifyAPI/Local/SpotifyLocalAPIConfig.cs
@@ -0,0 +1,12 @@
+namespace SpotifyAPI.Local
+{
+ // ReSharper disable once InconsistentNaming
+ public class SpotifyLocalAPIConfig
+ {
+ public int TimerInterval { get; set; } = 50;
+
+ public string HostUrl { get; set; } = "https://127.0.0.1";
+
+ public int Port { get; set; } = 4371;
+ }
+}
\ No newline at end of file
diff --git a/SpotifyAPI/SpotifyAPI.csproj b/SpotifyAPI/SpotifyAPI.csproj
index dfd34d3b..9462a5d4 100644
--- a/SpotifyAPI/SpotifyAPI.csproj
+++ b/SpotifyAPI/SpotifyAPI.csproj
@@ -59,6 +59,7 @@