From 451d925d7d0a057643fca49322b2e126c39acfde Mon Sep 17 00:00:00 2001 From: Jonas Dellinger Date: Sun, 3 Sep 2017 14:44:11 +0200 Subject: [PATCH] Added config for spotify local api --- SpotifyAPI/Local/RemoteHandler.cs | 11 ++++++++--- SpotifyAPI/Local/SpotifyLocalAPI.cs | 8 +++++++- SpotifyAPI/Local/SpotifyLocalAPIConfig.cs | 12 ++++++++++++ SpotifyAPI/SpotifyAPI.csproj | 1 + SpotifyAPI/Web/SimpleHttpServer.cs | 2 +- 5 files changed, 29 insertions(+), 5 deletions(-) create mode 100644 SpotifyAPI/Local/SpotifyLocalAPIConfig.cs 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 @@ Component + diff --git a/SpotifyAPI/Web/SimpleHttpServer.cs b/SpotifyAPI/Web/SimpleHttpServer.cs index 025894e1..7c1563af 100644 --- a/SpotifyAPI/Web/SimpleHttpServer.cs +++ b/SpotifyAPI/Web/SimpleHttpServer.cs @@ -280,7 +280,7 @@ namespace SpotifyAPI.Web NameValueCollection col = HttpUtility.ParseQueryString(url); if (col.Keys.Get(0) != "code") { - p.OutputStream.WriteLine("

Spotify Auth canceled!

"); + p.OutputStream.WriteLine("

Spotify Auth canceled!

"); t = new Thread(o => { OnAuth?.Invoke(new AuthEventArgs()