From 49441bba953fe0366dcb6db71ddc784cbeb42c4d Mon Sep 17 00:00:00 2001 From: mrnikbobjeff Date: Sat, 17 Oct 2015 00:44:35 +0200 Subject: [PATCH] Formatted and beautified code via codemaid Organised using statements alphabetically --- SpotifyAPI/Local/LocalEvents.cs | 9 ++- SpotifyAPI/Local/Models/CFID.cs | 6 +- SpotifyAPI/Local/Models/OpenGraphState.cs | 5 +- SpotifyAPI/Local/Models/SpotifyResource.cs | 8 ++- SpotifyAPI/Local/Models/StatusResponse.cs | 15 ++++- SpotifyAPI/Local/Models/Track.cs | 14 +++-- .../Local/Models/TrackResourceLocation.cs | 4 +- SpotifyAPI/Local/RemoteHandler.cs | 10 ++-- SpotifyAPI/Local/SpotifyLocalAPI.cs | 26 ++++++--- SpotifyAPI/Properties/AssemblyInfo.cs | 13 ++--- SpotifyAPI/Web/Auth/AutorizationCodeAuth.cs | 10 ++-- SpotifyAPI/Web/Auth/ClientCredentialsAuth.cs | 8 +-- SpotifyAPI/Web/Auth/ImplicitGrantAuth.cs | 9 +-- SpotifyAPI/Web/Enums/AlbumType.cs | 19 ++++-- SpotifyAPI/Web/Enums/FollowType.cs | 7 ++- SpotifyAPI/Web/Enums/Scope.cs | 47 +++++++++++---- SpotifyAPI/Web/Enums/SearchType.cs | 15 +++-- SpotifyAPI/Web/IClient.cs | 4 +- SpotifyAPI/Web/Models/BasicModel.cs | 4 +- SpotifyAPI/Web/Models/Category.cs | 4 +- SpotifyAPI/Web/Models/CursorPaging.cs | 4 +- SpotifyAPI/Web/Models/FeaturedPlaylists.cs | 4 +- SpotifyAPI/Web/Models/FullAlbum.cs | 4 +- SpotifyAPI/Web/Models/FullArtist.cs | 4 +- SpotifyAPI/Web/Models/FullPlaylist.cs | 4 +- SpotifyAPI/Web/Models/FullTrack.cs | 4 +- SpotifyAPI/Web/Models/GeneralModels.cs | 4 +- SpotifyAPI/Web/Models/Paging.cs | 4 +- SpotifyAPI/Web/Models/PrivateProfile.cs | 4 +- SpotifyAPI/Web/Models/PublicProfile.cs | 4 +- SpotifyAPI/Web/Models/SimpleAlbum.cs | 4 +- SpotifyAPI/Web/Models/SimpleArtist.cs | 4 +- SpotifyAPI/Web/Models/SimplePlaylist.cs | 4 +- SpotifyAPI/Web/Models/SimpleTrack.cs | 4 +- SpotifyAPI/Web/Models/Snapshot.cs | 4 +- SpotifyAPI/Web/Models/Token.cs | 4 +- SpotifyAPI/Web/SimpleHttpServer.cs | 21 +++---- SpotifyAPI/Web/SpotifyWebAPI.cs | 58 +++++++++---------- SpotifyAPI/Web/SpotifyWebClient.cs | 8 +-- SpotifyAPI/Web/Util.cs | 3 +- 40 files changed, 235 insertions(+), 156 deletions(-) diff --git a/SpotifyAPI/Local/LocalEvents.cs b/SpotifyAPI/Local/LocalEvents.cs index 8ec39ff4..b0e16d62 100644 --- a/SpotifyAPI/Local/LocalEvents.cs +++ b/SpotifyAPI/Local/LocalEvents.cs @@ -1,5 +1,5 @@ -using System; -using SpotifyAPI.Local.Models; +using SpotifyAPI.Local.Models; +using System; namespace SpotifyAPI.Local { @@ -11,6 +11,7 @@ namespace SpotifyAPI.Local public Track OldTrack { get; set; } public Track NewTrack { get; set; } } + /// /// Event gets triggered, when the Playin-state is changed (e.g Play --> Pause) /// @@ -18,6 +19,7 @@ namespace SpotifyAPI.Local { public Boolean Playing { get; set; } } + /// /// Event gets triggered, when the volume changes /// @@ -26,6 +28,7 @@ namespace SpotifyAPI.Local public double OldVolume { get; set; } public double NewVolume { get; set; } } + /// /// Event gets triggered, when the tracktime changes /// @@ -33,4 +36,4 @@ namespace SpotifyAPI.Local { public double TrackTime { get; set; } } -} +} \ No newline at end of file diff --git a/SpotifyAPI/Local/Models/CFID.cs b/SpotifyAPI/Local/Models/CFID.cs index aaf33380..242f57d4 100644 --- a/SpotifyAPI/Local/Models/CFID.cs +++ b/SpotifyAPI/Local/Models/CFID.cs @@ -5,7 +5,7 @@ namespace SpotifyAPI.Local.Models /// /// JSON Response, used internaly /// - class Cfid + internal class Cfid { public Error Error { get; set; } public String Token { get; set; } @@ -17,9 +17,9 @@ namespace SpotifyAPI.Local.Models /// /// JSON Response, used internaly /// - class Error + internal class Error { public String Type { get; set; } public String Message { get; set; } } -} +} \ No newline at end of file diff --git a/SpotifyAPI/Local/Models/OpenGraphState.cs b/SpotifyAPI/Local/Models/OpenGraphState.cs index 384aaa5e..8f9df2b5 100644 --- a/SpotifyAPI/Local/Models/OpenGraphState.cs +++ b/SpotifyAPI/Local/Models/OpenGraphState.cs @@ -1,5 +1,5 @@ -using System; -using Newtonsoft.Json; +using Newtonsoft.Json; +using System; namespace SpotifyAPI.Local.Models { @@ -7,6 +7,7 @@ namespace SpotifyAPI.Local.Models { [JsonProperty("private_session")] public Boolean PrivateSession { get; set; } + [JsonProperty("posting_disabled")] public Boolean PostingDisabled { get; set; } } diff --git a/SpotifyAPI/Local/Models/SpotifyResource.cs b/SpotifyAPI/Local/Models/SpotifyResource.cs index 97ef09e1..39d501a4 100644 --- a/SpotifyAPI/Local/Models/SpotifyResource.cs +++ b/SpotifyAPI/Local/Models/SpotifyResource.cs @@ -1,5 +1,5 @@ -using System; -using Newtonsoft.Json; +using Newtonsoft.Json; +using System; namespace SpotifyAPI.Local.Models { @@ -7,9 +7,11 @@ namespace SpotifyAPI.Local.Models { [JsonProperty("name")] public String Name { get; set; } + [JsonProperty("uri")] public String Uri { get; set; } + [JsonProperty("location")] public TrackResourceLocation Location { get; set; } } -} +} \ No newline at end of file diff --git a/SpotifyAPI/Local/Models/StatusResponse.cs b/SpotifyAPI/Local/Models/StatusResponse.cs index 16a4467d..1e5ea455 100644 --- a/SpotifyAPI/Local/Models/StatusResponse.cs +++ b/SpotifyAPI/Local/Models/StatusResponse.cs @@ -6,31 +6,44 @@ namespace SpotifyAPI.Local.Models { [JsonProperty("version")] public int Version { get; set; } + [JsonProperty("client_version")] public string ClientVersion { get; set; } + [JsonProperty("playing")] public bool Playing { get; set; } + [JsonProperty("schuffle")] public bool Shuffle { get; set; } + [JsonProperty("repeat")] public bool Repeat { get; set; } + [JsonProperty("play_enabled")] public bool PlayEnabled { get; set; } + [JsonProperty("prev_enabled")] public bool PrevEnabled { get; set; } + [JsonProperty("next_enabled")] public bool NextEnabled { get; set; } + [JsonProperty("track")] public Track Track { get; set; } + [JsonProperty("playing_position")] public double PlayingPosition { get; set; } + [JsonProperty("server_time")] public int ServerTime { get; set; } + [JsonProperty("volume")] public double Volume { get; set; } + [JsonProperty("online")] public bool Online { get; set; } + [JsonProperty("running")] public bool Running { get; set; } } -} +} \ No newline at end of file diff --git a/SpotifyAPI/Local/Models/Track.cs b/SpotifyAPI/Local/Models/Track.cs index 6b68cd1e..8c18ac0e 100644 --- a/SpotifyAPI/Local/Models/Track.cs +++ b/SpotifyAPI/Local/Models/Track.cs @@ -1,10 +1,10 @@ -using System; +using Newtonsoft.Json; +using SpotifyAPI.Local.Enums; +using System; using System.Drawing; using System.IO; using System.Net; using System.Threading.Tasks; -using Newtonsoft.Json; -using SpotifyAPI.Local.Enums; namespace SpotifyAPI.Local.Models { @@ -12,12 +12,16 @@ namespace SpotifyAPI.Local.Models { [JsonProperty("track_resource")] public SpotifyResource TrackResource { get; set; } + [JsonProperty("artist_resource")] public SpotifyResource ArtistResource { get; set; } + [JsonProperty("album_resource")] public SpotifyResource AlbumResource { get; set; } + [JsonProperty("length")] public int Length { get; set; } + [JsonProperty("track_type")] public string TrackType { get; set; } @@ -50,9 +54,11 @@ namespace SpotifyAPI.Local.Models case AlbumArtSize.Size160: albumsize = 160; break; + case AlbumArtSize.Size320: albumsize = 320; break; + case AlbumArtSize.Size640: albumsize = 640; break; @@ -152,4 +158,4 @@ namespace SpotifyAPI.Local.Models } } } -} +} \ No newline at end of file diff --git a/SpotifyAPI/Local/Models/TrackResourceLocation.cs b/SpotifyAPI/Local/Models/TrackResourceLocation.cs index c0ed6a15..9008f0a9 100644 --- a/SpotifyAPI/Local/Models/TrackResourceLocation.cs +++ b/SpotifyAPI/Local/Models/TrackResourceLocation.cs @@ -1,5 +1,5 @@ -using System; -using Newtonsoft.Json; +using Newtonsoft.Json; +using System; namespace SpotifyAPI.Local.Models { diff --git a/SpotifyAPI/Local/RemoteHandler.cs b/SpotifyAPI/Local/RemoteHandler.cs index 42a8645c..c54608d8 100644 --- a/SpotifyAPI/Local/RemoteHandler.cs +++ b/SpotifyAPI/Local/RemoteHandler.cs @@ -1,10 +1,10 @@ -using System; +using Newtonsoft.Json; +using SpotifyAPI.Local.Models; +using System; using System.Collections.Generic; using System.Net; using System.Text; using System.Threading.Tasks; -using Newtonsoft.Json; -using SpotifyAPI.Local.Models; namespace SpotifyAPI.Local { @@ -145,7 +145,7 @@ namespace SpotifyAPI.Local parameters += "&returnon=login%2Clogout%2Cplay%2Cpause%2Cerror%2Cap"; } - string address = "http://" + Host + ":4380/" + request + parameters ; + string address = "http://" + Host + ":4380/" + request + parameters; string response = ""; try { @@ -168,4 +168,4 @@ namespace SpotifyAPI.Local return Convert.ToInt32((DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0)).TotalSeconds); } } -} +} \ No newline at end of file diff --git a/SpotifyAPI/Local/SpotifyLocalAPI.cs b/SpotifyAPI/Local/SpotifyLocalAPI.cs index f2e5557f..5c599189 100644 --- a/SpotifyAPI/Local/SpotifyLocalAPI.cs +++ b/SpotifyAPI/Local/SpotifyLocalAPI.cs @@ -1,10 +1,10 @@ -using System; +using SpotifyAPI.Local.Models; +using System; using System.ComponentModel; using System.Diagnostics; using System.IO; using System.Runtime.InteropServices; using System.Timers; -using SpotifyAPI.Local.Models; namespace SpotifyAPI.Local { @@ -12,10 +12,12 @@ namespace SpotifyAPI.Local { [DllImport("user32.dll")] private static extern void keybd_event(byte bVk, byte bScan, uint dwFlags, int dwExtraInfo); + [DllImport("nircmd.dll", CharSet = CharSet.Auto)] private static extern bool DoNirCmd(String nirCmdStr); private bool _listenForEvents; + public bool ListenForEvents { get @@ -30,6 +32,7 @@ namespace SpotifyAPI.Local } private ISynchronizeInvoke _synchronizingObject; + public ISynchronizeInvoke SynchronizingObject { get @@ -43,22 +46,29 @@ namespace SpotifyAPI.Local } } - const byte VkMediaNextTrack = 0xb0; - const byte VkMediaPrevTrack = 0xb1; - const int KeyeventfExtendedkey = 0x1; - const int KeyeventfKeyup = 0x2; + private const byte VkMediaNextTrack = 0xb0; + private const byte VkMediaPrevTrack = 0xb1; + private const int KeyeventfExtendedkey = 0x1; + private const int KeyeventfKeyup = 0x2; - readonly RemoteHandler _rh; + private readonly RemoteHandler _rh; private readonly Timer _eventTimer; private StatusResponse _eventStatusResponse; public delegate void TrackChangeEventHandler(TrackChangeEventArgs e); + public delegate void PlayStateEventHandler(PlayStateEventArgs e); + public delegate void VolumeChangeEventHandler(VolumeChangeEventArgs e); + public delegate void TrackTimeChangeEventHandler(TrackTimeChangeEventArgs e); + public event TrackChangeEventHandler OnTrackChange; + public event PlayStateEventHandler OnPlayStateChange; + public event VolumeChangeEventHandler OnVolumeChange; + public event TrackTimeChangeEventHandler OnTrackTimeChange; public SpotifyLocalAPI() @@ -273,4 +283,4 @@ namespace SpotifyAPI.Local } } } -} +} \ No newline at end of file diff --git a/SpotifyAPI/Properties/AssemblyInfo.cs b/SpotifyAPI/Properties/AssemblyInfo.cs index a56439af..5c4ae80d 100644 --- a/SpotifyAPI/Properties/AssemblyInfo.cs +++ b/SpotifyAPI/Properties/AssemblyInfo.cs @@ -1,8 +1,7 @@ using System.Reflection; -using System.Runtime.CompilerServices; using System.Runtime.InteropServices; -// Allgemeine Informationen über eine Assembly werden über die folgenden +// Allgemeine Informationen über eine Assembly werden über die folgenden // Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern, // die mit einer Assembly verknüpft sind. [assembly: AssemblyTitle("SpotifyLocalAPIClass")] @@ -14,8 +13,8 @@ using System.Runtime.InteropServices; [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] -// Durch Festlegen von ComVisible auf "false" werden die Typen in dieser Assembly unsichtbar -// für COM-Komponenten. Wenn Sie auf einen Typ in dieser Assembly von +// Durch Festlegen von ComVisible auf "false" werden die Typen in dieser Assembly unsichtbar +// für COM-Komponenten. Wenn Sie auf einen Typ in dieser Assembly von // COM zugreifen müssen, legen Sie das ComVisible-Attribut für diesen Typ auf "true" fest. [assembly: ComVisible(false)] @@ -25,12 +24,12 @@ using System.Runtime.InteropServices; // Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten: // // Hauptversion -// Nebenversion +// Nebenversion // Buildnummer // Revision // -// Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern +// Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern // übernehmen, indem Sie "*" eingeben: // [assembly: AssemblyVersion("1.0.*")] [assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] \ No newline at end of file diff --git a/SpotifyAPI/Web/Auth/AutorizationCodeAuth.cs b/SpotifyAPI/Web/Auth/AutorizationCodeAuth.cs index 5b0939b3..0be2c3ba 100644 --- a/SpotifyAPI/Web/Auth/AutorizationCodeAuth.cs +++ b/SpotifyAPI/Web/Auth/AutorizationCodeAuth.cs @@ -1,13 +1,13 @@ -using System; +using Newtonsoft.Json; +using SpotifyAPI.Web.Enums; +using SpotifyAPI.Web.Models; +using System; using System.Collections.Specialized; using System.Diagnostics; using System.IO; using System.Net; using System.Text; using System.Threading; -using Newtonsoft.Json; -using SpotifyAPI.Web.Enums; -using SpotifyAPI.Web.Models; namespace SpotifyAPI.Web.Auth { @@ -51,7 +51,7 @@ namespace SpotifyAPI.Web.Auth "Basic " + Convert.ToBase64String(Encoding.UTF8.GetBytes(ClientId + ":" + clientSecret))); NameValueCollection col = new NameValueCollection { - {"grant_type", "refresh_token"}, + {"grant_type", "refresh_token"}, {"refresh_token", refreshToken} }; diff --git a/SpotifyAPI/Web/Auth/ClientCredentialsAuth.cs b/SpotifyAPI/Web/Auth/ClientCredentialsAuth.cs index 66ed60bf..27a3a6b9 100644 --- a/SpotifyAPI/Web/Auth/ClientCredentialsAuth.cs +++ b/SpotifyAPI/Web/Auth/ClientCredentialsAuth.cs @@ -1,11 +1,11 @@ -using System; +using Newtonsoft.Json; +using SpotifyAPI.Web.Enums; +using SpotifyAPI.Web.Models; +using System; using System.Collections.Specialized; using System.IO; using System.Net; using System.Text; -using Newtonsoft.Json; -using SpotifyAPI.Web.Enums; -using SpotifyAPI.Web.Models; namespace SpotifyAPI.Web.Auth { diff --git a/SpotifyAPI/Web/Auth/ImplicitGrantAuth.cs b/SpotifyAPI/Web/Auth/ImplicitGrantAuth.cs index e485d662..922a9d68 100644 --- a/SpotifyAPI/Web/Auth/ImplicitGrantAuth.cs +++ b/SpotifyAPI/Web/Auth/ImplicitGrantAuth.cs @@ -1,9 +1,9 @@ -using System; +using SpotifyAPI.Web.Enums; +using SpotifyAPI.Web.Models; +using System; using System.Diagnostics; using System.Text; using System.Threading; -using SpotifyAPI.Web.Enums; -using SpotifyAPI.Web.Models; namespace SpotifyAPI.Web.Auth { @@ -18,6 +18,7 @@ namespace SpotifyAPI.Web.Auth public String State { get; set; } public Scope Scope { get; set; } public Boolean ShowDialog { get; set; } + public event OnResponseReceived OnResponseReceivedEvent; /// @@ -74,4 +75,4 @@ namespace SpotifyAPI.Web.Auth _httpServer = null; } } -} +} \ No newline at end of file diff --git a/SpotifyAPI/Web/Enums/AlbumType.cs b/SpotifyAPI/Web/Enums/AlbumType.cs index 4b308052..c05df333 100644 --- a/SpotifyAPI/Web/Enums/AlbumType.cs +++ b/SpotifyAPI/Web/Enums/AlbumType.cs @@ -5,10 +5,19 @@ namespace SpotifyAPI.Web.Enums [Flags] public enum AlbumType { - [String("album")] Album = 1, - [String("single")] Single = 2, - [String("compilation")] Compilation = 4, - [String("appears_on")] AppearsOn = 8, - [String("album,single,compilation,appears_on")] All = 16 + [String("album")] + Album = 1, + + [String("single")] + Single = 2, + + [String("compilation")] + Compilation = 4, + + [String("appears_on")] + AppearsOn = 8, + + [String("album,single,compilation,appears_on")] + All = 16 } } \ No newline at end of file diff --git a/SpotifyAPI/Web/Enums/FollowType.cs b/SpotifyAPI/Web/Enums/FollowType.cs index d0fa2e10..6cd802bc 100644 --- a/SpotifyAPI/Web/Enums/FollowType.cs +++ b/SpotifyAPI/Web/Enums/FollowType.cs @@ -5,7 +5,10 @@ namespace SpotifyAPI.Web.Enums [Flags] public enum FollowType { - [String("artist")] Artist = 1, - [String("user")] User = 2 + [String("artist")] + Artist = 1, + + [String("user")] + User = 2 } } \ No newline at end of file diff --git a/SpotifyAPI/Web/Enums/Scope.cs b/SpotifyAPI/Web/Enums/Scope.cs index 1410f496..0240450a 100644 --- a/SpotifyAPI/Web/Enums/Scope.cs +++ b/SpotifyAPI/Web/Enums/Scope.cs @@ -5,17 +5,40 @@ namespace SpotifyAPI.Web.Enums [Flags] public enum Scope { - [String("")] None = 1, - [String("playlist-modify-public")] PlaylistModifyPublic = 2, - [String("playlist-modify-private")] PlaylistModifyPrivate = 4, - [String("playlist-read-private")] PlaylistReadPrivate = 8, - [String("streaming")] Streaming = 16, - [String("user-read-private")] UserReadPrivate = 32, - [String("user-read-email")] UserReadEmail = 64, - [String("user-library-read")] UserLibrarayRead = 128, - [String("user-library-modify")] UserLibraryModify = 256, - [String("user-follow-modify")] UserFollowModify = 512, - [String("user-follow-read")] UserFollowRead = 1024, - [String("user-read-birthdate")] UserReadBirthdate = 2048 + [String("")] + None = 1, + + [String("playlist-modify-public")] + PlaylistModifyPublic = 2, + + [String("playlist-modify-private")] + PlaylistModifyPrivate = 4, + + [String("playlist-read-private")] + PlaylistReadPrivate = 8, + + [String("streaming")] + Streaming = 16, + + [String("user-read-private")] + UserReadPrivate = 32, + + [String("user-read-email")] + UserReadEmail = 64, + + [String("user-library-read")] + UserLibrarayRead = 128, + + [String("user-library-modify")] + UserLibraryModify = 256, + + [String("user-follow-modify")] + UserFollowModify = 512, + + [String("user-follow-read")] + UserFollowRead = 1024, + + [String("user-read-birthdate")] + UserReadBirthdate = 2048 } } \ No newline at end of file diff --git a/SpotifyAPI/Web/Enums/SearchType.cs b/SpotifyAPI/Web/Enums/SearchType.cs index c2fae029..d40c0e19 100644 --- a/SpotifyAPI/Web/Enums/SearchType.cs +++ b/SpotifyAPI/Web/Enums/SearchType.cs @@ -5,9 +5,16 @@ namespace SpotifyAPI.Web.Enums [Flags] public enum SearchType { - [String("artist")] Artist = 1, - [String("album")] Album = 2, - [String("track")] Track = 4, - [String("track,album,artist")] All = 8 + [String("artist")] + Artist = 1, + + [String("album")] + Album = 2, + + [String("track")] + Track = 4, + + [String("track,album,artist")] + All = 8 } } \ No newline at end of file diff --git a/SpotifyAPI/Web/IClient.cs b/SpotifyAPI/Web/IClient.cs index 4ba8b94e..1ab1ae36 100644 --- a/SpotifyAPI/Web/IClient.cs +++ b/SpotifyAPI/Web/IClient.cs @@ -1,6 +1,6 @@ -using System; +using Newtonsoft.Json; +using System; using System.Collections.Generic; -using Newtonsoft.Json; namespace SpotifyAPI.Web { diff --git a/SpotifyAPI/Web/Models/BasicModel.cs b/SpotifyAPI/Web/Models/BasicModel.cs index 8fd97d29..bb968613 100644 --- a/SpotifyAPI/Web/Models/BasicModel.cs +++ b/SpotifyAPI/Web/Models/BasicModel.cs @@ -1,5 +1,5 @@ -using System; -using Newtonsoft.Json; +using Newtonsoft.Json; +using System; namespace SpotifyAPI.Web.Models { diff --git a/SpotifyAPI/Web/Models/Category.cs b/SpotifyAPI/Web/Models/Category.cs index 0c94efc2..a3322fcd 100644 --- a/SpotifyAPI/Web/Models/Category.cs +++ b/SpotifyAPI/Web/Models/Category.cs @@ -1,6 +1,6 @@ -using System; +using Newtonsoft.Json; +using System; using System.Collections.Generic; -using Newtonsoft.Json; namespace SpotifyAPI.Web.Models { diff --git a/SpotifyAPI/Web/Models/CursorPaging.cs b/SpotifyAPI/Web/Models/CursorPaging.cs index 5d7452d9..dc4060d5 100644 --- a/SpotifyAPI/Web/Models/CursorPaging.cs +++ b/SpotifyAPI/Web/Models/CursorPaging.cs @@ -1,6 +1,6 @@ -using System; +using Newtonsoft.Json; +using System; using System.Collections.Generic; -using Newtonsoft.Json; namespace SpotifyAPI.Web.Models { diff --git a/SpotifyAPI/Web/Models/FeaturedPlaylists.cs b/SpotifyAPI/Web/Models/FeaturedPlaylists.cs index 88b7939b..016a4ad0 100644 --- a/SpotifyAPI/Web/Models/FeaturedPlaylists.cs +++ b/SpotifyAPI/Web/Models/FeaturedPlaylists.cs @@ -1,5 +1,5 @@ -using System; -using Newtonsoft.Json; +using Newtonsoft.Json; +using System; namespace SpotifyAPI.Web.Models { diff --git a/SpotifyAPI/Web/Models/FullAlbum.cs b/SpotifyAPI/Web/Models/FullAlbum.cs index 1df3e4a7..bd566bd2 100644 --- a/SpotifyAPI/Web/Models/FullAlbum.cs +++ b/SpotifyAPI/Web/Models/FullAlbum.cs @@ -1,6 +1,6 @@ -using System; +using Newtonsoft.Json; +using System; using System.Collections.Generic; -using Newtonsoft.Json; namespace SpotifyAPI.Web.Models { diff --git a/SpotifyAPI/Web/Models/FullArtist.cs b/SpotifyAPI/Web/Models/FullArtist.cs index b1982cbf..72eb586b 100644 --- a/SpotifyAPI/Web/Models/FullArtist.cs +++ b/SpotifyAPI/Web/Models/FullArtist.cs @@ -1,6 +1,6 @@ -using System; +using Newtonsoft.Json; +using System; using System.Collections.Generic; -using Newtonsoft.Json; namespace SpotifyAPI.Web.Models { diff --git a/SpotifyAPI/Web/Models/FullPlaylist.cs b/SpotifyAPI/Web/Models/FullPlaylist.cs index 14e0ac95..f6bf1de8 100644 --- a/SpotifyAPI/Web/Models/FullPlaylist.cs +++ b/SpotifyAPI/Web/Models/FullPlaylist.cs @@ -1,6 +1,6 @@ -using System; +using Newtonsoft.Json; +using System; using System.Collections.Generic; -using Newtonsoft.Json; namespace SpotifyAPI.Web.Models { diff --git a/SpotifyAPI/Web/Models/FullTrack.cs b/SpotifyAPI/Web/Models/FullTrack.cs index be76d17b..bbb713b2 100644 --- a/SpotifyAPI/Web/Models/FullTrack.cs +++ b/SpotifyAPI/Web/Models/FullTrack.cs @@ -1,6 +1,6 @@ -using System; +using Newtonsoft.Json; +using System; using System.Collections.Generic; -using Newtonsoft.Json; namespace SpotifyAPI.Web.Models { diff --git a/SpotifyAPI/Web/Models/GeneralModels.cs b/SpotifyAPI/Web/Models/GeneralModels.cs index 89dbe60d..bccfae85 100644 --- a/SpotifyAPI/Web/Models/GeneralModels.cs +++ b/SpotifyAPI/Web/Models/GeneralModels.cs @@ -1,7 +1,7 @@ -using System; +using Newtonsoft.Json; +using System; using System.Collections.Generic; using System.Linq; -using Newtonsoft.Json; namespace SpotifyAPI.Web.Models { diff --git a/SpotifyAPI/Web/Models/Paging.cs b/SpotifyAPI/Web/Models/Paging.cs index db25fb8d..d40a426e 100644 --- a/SpotifyAPI/Web/Models/Paging.cs +++ b/SpotifyAPI/Web/Models/Paging.cs @@ -1,6 +1,6 @@ -using System; +using Newtonsoft.Json; +using System; using System.Collections.Generic; -using Newtonsoft.Json; namespace SpotifyAPI.Web.Models { diff --git a/SpotifyAPI/Web/Models/PrivateProfile.cs b/SpotifyAPI/Web/Models/PrivateProfile.cs index 87349d60..09357c20 100644 --- a/SpotifyAPI/Web/Models/PrivateProfile.cs +++ b/SpotifyAPI/Web/Models/PrivateProfile.cs @@ -1,6 +1,6 @@ -using System; +using Newtonsoft.Json; +using System; using System.Collections.Generic; -using Newtonsoft.Json; namespace SpotifyAPI.Web.Models { diff --git a/SpotifyAPI/Web/Models/PublicProfile.cs b/SpotifyAPI/Web/Models/PublicProfile.cs index 098a99ef..93e0459d 100644 --- a/SpotifyAPI/Web/Models/PublicProfile.cs +++ b/SpotifyAPI/Web/Models/PublicProfile.cs @@ -1,6 +1,6 @@ -using System; +using Newtonsoft.Json; +using System; using System.Collections.Generic; -using Newtonsoft.Json; namespace SpotifyAPI.Web.Models { diff --git a/SpotifyAPI/Web/Models/SimpleAlbum.cs b/SpotifyAPI/Web/Models/SimpleAlbum.cs index 8f0f292f..e9dfbbf3 100644 --- a/SpotifyAPI/Web/Models/SimpleAlbum.cs +++ b/SpotifyAPI/Web/Models/SimpleAlbum.cs @@ -1,6 +1,6 @@ -using System; +using Newtonsoft.Json; +using System; using System.Collections.Generic; -using Newtonsoft.Json; namespace SpotifyAPI.Web.Models { diff --git a/SpotifyAPI/Web/Models/SimpleArtist.cs b/SpotifyAPI/Web/Models/SimpleArtist.cs index f20a0e0c..a368c66a 100644 --- a/SpotifyAPI/Web/Models/SimpleArtist.cs +++ b/SpotifyAPI/Web/Models/SimpleArtist.cs @@ -1,6 +1,6 @@ -using System; +using Newtonsoft.Json; +using System; using System.Collections.Generic; -using Newtonsoft.Json; namespace SpotifyAPI.Web.Models { diff --git a/SpotifyAPI/Web/Models/SimplePlaylist.cs b/SpotifyAPI/Web/Models/SimplePlaylist.cs index f6e9f497..1bb2f7cc 100644 --- a/SpotifyAPI/Web/Models/SimplePlaylist.cs +++ b/SpotifyAPI/Web/Models/SimplePlaylist.cs @@ -1,6 +1,6 @@ -using System; +using Newtonsoft.Json; +using System; using System.Collections.Generic; -using Newtonsoft.Json; namespace SpotifyAPI.Web.Models { diff --git a/SpotifyAPI/Web/Models/SimpleTrack.cs b/SpotifyAPI/Web/Models/SimpleTrack.cs index 2c78c6a0..7726db4d 100644 --- a/SpotifyAPI/Web/Models/SimpleTrack.cs +++ b/SpotifyAPI/Web/Models/SimpleTrack.cs @@ -1,6 +1,6 @@ -using System; +using Newtonsoft.Json; +using System; using System.Collections.Generic; -using Newtonsoft.Json; namespace SpotifyAPI.Web.Models { diff --git a/SpotifyAPI/Web/Models/Snapshot.cs b/SpotifyAPI/Web/Models/Snapshot.cs index 798a4e82..4c54887d 100644 --- a/SpotifyAPI/Web/Models/Snapshot.cs +++ b/SpotifyAPI/Web/Models/Snapshot.cs @@ -1,5 +1,5 @@ -using System; -using Newtonsoft.Json; +using Newtonsoft.Json; +using System; namespace SpotifyAPI.Web.Models { diff --git a/SpotifyAPI/Web/Models/Token.cs b/SpotifyAPI/Web/Models/Token.cs index e6bf4ee1..8179147f 100644 --- a/SpotifyAPI/Web/Models/Token.cs +++ b/SpotifyAPI/Web/Models/Token.cs @@ -1,5 +1,5 @@ -using System; -using Newtonsoft.Json; +using Newtonsoft.Json; +using System; namespace SpotifyAPI.Web.Models { diff --git a/SpotifyAPI/Web/SimpleHttpServer.cs b/SpotifyAPI/Web/SimpleHttpServer.cs index b67981c4..8c7d41fc 100644 --- a/SpotifyAPI/Web/SimpleHttpServer.cs +++ b/SpotifyAPI/Web/SimpleHttpServer.cs @@ -8,7 +8,7 @@ using System.Threading; using System.Web; // offered to the public domain for any use with no restriction -// and also with no warranty of any kind, please enjoy. - David Jeske. +// and also with no warranty of any kind, please enjoy. - David Jeske. // simple HTTP explanation // http://www.jmarshall.com/easy/http/ @@ -17,7 +17,7 @@ namespace SpotifyAPI.Web { public class HttpProcessor { - private const int MaxPostSize = 10*1024*1024; // 10MB + private const int MaxPostSize = 10 * 1024 * 1024; // 10MB private const int BufSize = 4096; private readonly TcpClient _socket; private readonly HttpServer _srv; @@ -85,7 +85,7 @@ namespace SpotifyAPI.Web } OutputStream.Flush(); _inputStream = null; - OutputStream = null; + OutputStream = null; _socket.Close(); } @@ -137,9 +137,9 @@ namespace SpotifyAPI.Web { // this post data processing just reads everything into a memory stream. // this is fine for smallish things, but for large stuff we should really - // hand an input stream to the request processor. However, the input stream - // we hand him needs to let him see the "end of the stream" at this content - // length, because otherwise he won't know when he's seen it all! + // hand an input stream to the request processor. However, the input stream + // we hand him needs to let him see the "end of the stream" at this content + // length, because otherwise he won't know when he's seen it all! MemoryStream ms = new MemoryStream(); if (HttpHeaders.ContainsKey("Content-Length")) @@ -147,7 +147,7 @@ namespace SpotifyAPI.Web var contentLen = Convert.ToInt32(HttpHeaders["Content-Length"]); if (contentLen > MaxPostSize) { - throw new Exception(String.Format("POST Content-Length({0}) too big for this simple server", contentLen)); + throw new Exception(String.Format("POST Content-Length({0}) too big for this simple server", contentLen)); } byte[] buf = new byte[BufSize]; int toRead = contentLen; @@ -230,6 +230,7 @@ namespace SpotifyAPI.Web } public abstract void HandleGetRequest(HttpProcessor p); + public abstract void HandlePostRequest(HttpProcessor p, StreamReader inputData); } @@ -237,6 +238,7 @@ namespace SpotifyAPI.Web { //Code can be an AccessToken or an Exchange Code public String Code { get; set; } + public String TokenType { get; set; } public String State { get; set; } public String Error { get; set; } @@ -262,7 +264,6 @@ namespace SpotifyAPI.Web if (p.HttpUrl == "/favicon.ico") return; - Thread t; if (_type == AuthType.Authorization) { @@ -274,7 +275,7 @@ namespace SpotifyAPI.Web p.OutputStream.WriteLine("

Spotify Auth canceled!

"); t = new Thread(o => { - if(OnAuth != null) + if (OnAuth != null) OnAuth(new AuthEventArgs() { State = col.Get(1), @@ -287,7 +288,7 @@ namespace SpotifyAPI.Web p.OutputStream.WriteLine("

Spotify Auth successful!

"); t = new Thread(o => { - if(OnAuth != null) + if (OnAuth != null) OnAuth(new AuthEventArgs() { Code = col.Get(0), diff --git a/SpotifyAPI/Web/SpotifyWebAPI.cs b/SpotifyAPI/Web/SpotifyWebAPI.cs index 2db4f654..84a9e9bc 100644 --- a/SpotifyAPI/Web/SpotifyWebAPI.cs +++ b/SpotifyAPI/Web/SpotifyWebAPI.cs @@ -1,11 +1,11 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using Newtonsoft.Json; +using Newtonsoft.Json; using Newtonsoft.Json.Linq; using SpotifyAPI.Web.Enums; using SpotifyAPI.Web.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; namespace SpotifyAPI.Web { @@ -62,7 +62,7 @@ namespace SpotifyAPI.Web return DownloadData(builder.ToString()); } - #endregion + #endregion Search #region Albums @@ -112,7 +112,7 @@ namespace SpotifyAPI.Web return DownloadData(APIBase + "/albums?market=" + market + "&ids=" + string.Join(",", ids.Take(20))); } - #endregion + #endregion Albums #region Artists @@ -186,7 +186,7 @@ namespace SpotifyAPI.Web return DownloadData(APIBase + "/artists?ids=" + string.Join(",", ids.Take(50))); } - #endregion + #endregion Artists #region Browse @@ -314,7 +314,7 @@ namespace SpotifyAPI.Web return DownloadData(builder.ToString()); } - #endregion + #endregion Browse #region Follow @@ -327,7 +327,7 @@ namespace SpotifyAPI.Web /// AUTH NEEDED public FollowedArtists GetFollowedArtists(int limit = 20, String after = "") { - if(!UseAuth) + if (!UseAuth) throw new InvalidOperationException("Auth is required for GetFollowedArtists"); limit = Math.Max(limit, 50); const FollowType followType = FollowType.Artist; //currently only artist is supported. @@ -363,7 +363,7 @@ namespace SpotifyAPI.Web /// AUTH NEEDED public ErrorResponse Follow(FollowType followType, String id) { - return Follow(followType, new List {id}); + return Follow(followType, new List { id }); } /// @@ -391,7 +391,7 @@ namespace SpotifyAPI.Web /// AUTH NEEDED public ErrorResponse Unfollow(FollowType followType, String id) { - return Unfollow(followType, new List {id}); + return Unfollow(followType, new List { id }); } /// @@ -407,8 +407,8 @@ namespace SpotifyAPI.Web throw new InvalidOperationException("Auth is required for IsFollowing"); JToken res = DownloadData(APIBase + "/me/following/contains?type=" + followType.GetStringAttribute("") + "&ids=" + string.Join(",", ids)); if (res is JArray) - return new ListResponse {List = res.ToObject>(), Error = null}; - return new ListResponse {List = null, Error = res["error"].ToObject()}; + return new ListResponse { List = res.ToObject>(), Error = null }; + return new ListResponse { List = null, Error = res["error"].ToObject() }; } /// @@ -420,7 +420,7 @@ namespace SpotifyAPI.Web /// AUTH NEEDED public ListResponse IsFollowing(FollowType followType, String id) { - return IsFollowing(followType, new List {id}); + return IsFollowing(followType, new List { id }); } /// @@ -472,8 +472,8 @@ namespace SpotifyAPI.Web throw new InvalidOperationException("Auth is required for IsFollowingPlaylist"); JToken res = DownloadData(APIBase + "/users/" + ownerId + "/playlists/" + playlistId + "/followers/contains?ids=" + string.Join(",", ids)); if (res is JArray) - return new ListResponse {List = res.ToObject>(), Error = null}; - return new ListResponse {List = null, Error = res["error"].ToObject()}; + return new ListResponse { List = res.ToObject>(), Error = null }; + return new ListResponse { List = null, Error = res["error"].ToObject() }; } /// @@ -486,10 +486,10 @@ namespace SpotifyAPI.Web /// AUTH NEEDED public ListResponse IsFollowingPlaylist(String ownerId, String playlistId, String id) { - return IsFollowingPlaylist(ownerId, playlistId, new List {id}); + return IsFollowingPlaylist(ownerId, playlistId, new List { id }); } - #endregion + #endregion Follow #region Library @@ -513,7 +513,7 @@ namespace SpotifyAPI.Web /// AUTH NEEDED public ErrorResponse SaveTrack(String id) { - return SaveTracks(new List {id}); + return SaveTracks(new List { id }); } /// @@ -561,11 +561,11 @@ namespace SpotifyAPI.Web throw new InvalidOperationException("Auth is required for CheckSavedTracks"); JToken res = DownloadData(APIBase + "/me/tracks/contains?ids=" + string.Join(",", ids)); if (res is JArray) - return new ListResponse {List = res.ToObject>(), Error = null}; - return new ListResponse {List = null, Error = res["error"].ToObject()}; + return new ListResponse { List = res.ToObject>(), Error = null }; + return new ListResponse { List = null, Error = res["error"].ToObject() }; } - #endregion + #endregion Library #region Playlists @@ -730,7 +730,7 @@ namespace SpotifyAPI.Web /// AUTH NEEDED public ErrorResponse RemovePlaylistTrack(String userId, String playlistId, DeleteTrackUri uri) { - return RemovePlaylistTracks(userId, playlistId, new List {uri}); + return RemovePlaylistTracks(userId, playlistId, new List { uri }); } /// @@ -764,7 +764,7 @@ namespace SpotifyAPI.Web /// AUTH NEEDED public ErrorResponse AddPlaylistTrack(String userId, String playlistId, String uri, int? position = null) { - return AddPlaylistTracks(userId, playlistId, new List {uri}, position); + return AddPlaylistTracks(userId, playlistId, new List { uri }, position); } /// @@ -791,7 +791,7 @@ namespace SpotifyAPI.Web return UploadData(APIBase + "/users/" + userId + "/playlists/" + playlistId + "/tracks", body.ToString(Formatting.None), "PUT"); } - #endregion + #endregion Playlists #region Profiles @@ -817,7 +817,7 @@ namespace SpotifyAPI.Web return DownloadData(APIBase + "/users/" + userId); } - #endregion + #endregion Profiles #region Tracks @@ -847,7 +847,7 @@ namespace SpotifyAPI.Web return DownloadData(APIBase + "/tracks/" + id + "?market=" + market); } - #endregion + #endregion Tracks #region Util @@ -869,6 +869,6 @@ namespace SpotifyAPI.Web return WebClient.DownloadJson(url); } - #endregion + #endregion Util } } \ No newline at end of file diff --git a/SpotifyAPI/Web/SpotifyWebClient.cs b/SpotifyAPI/Web/SpotifyWebClient.cs index d0a6c4b3..ea9769d7 100644 --- a/SpotifyAPI/Web/SpotifyWebClient.cs +++ b/SpotifyAPI/Web/SpotifyWebClient.cs @@ -1,10 +1,10 @@ -using System; +using Newtonsoft.Json; +using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net; using System.Text; -using Newtonsoft.Json; namespace SpotifyAPI.Web { @@ -46,7 +46,7 @@ namespace SpotifyAPI.Web return response; } - public byte[] DownloadRaw(string url) + public byte[] DownloadRaw(string url) { return _webClient.DownloadData(url); } @@ -93,7 +93,7 @@ namespace SpotifyAPI.Web public void RemoveHeader(string header) { - if(_webClient.Headers[header] != null) + if (_webClient.Headers[header] != null) _webClient.Headers.Remove(header); } diff --git a/SpotifyAPI/Web/Util.cs b/SpotifyAPI/Web/Util.cs index 7c3f4548..ed01516a 100644 --- a/SpotifyAPI/Web/Util.cs +++ b/SpotifyAPI/Web/Util.cs @@ -27,9 +27,10 @@ namespace SpotifyAPI.Web public sealed class StringAttribute : Attribute { public String Text { get; set; } + public StringAttribute(String text) { Text = text; } } -} +} \ No newline at end of file