Example #1
0
        public static IEnumerable<Song> getPopularSongsToday(this GrooveSharp grooveSharp)
        {
            RequestData _requestData = new RequestData(Method.getPopularSongsToday,
                grooveSharp.APIKey, grooveSharp.SessionKey);

            string _respond = grooveSharp.getResponse(grooveSharp.getUrl(_requestData), _requestData);

            return Song.parseToList(grooveSharp, _respond);
        }
Example #2
0
        public static IEnumerable<Playlist> searchPlaylist(this GrooveSharp grooveSharp, string query)
        {
            RequestData _requestData = new RequestData(Method.getPlaylistSearchResults, grooveSharp.APIKey);
            _requestData.AddParameter("query", query);

            string _response = grooveSharp.getResponse(grooveSharp.getUrl(_requestData), _requestData);

            return Playlist.parseToList(grooveSharp, _response);
        }
Example #3
0
        public static string getAlbumSongs(this GrooveSharp grooveSharp, int albumID)
        {
            RequestData _requestData = new RequestData(Method.getAlbumSongs, grooveSharp.APIKey);

            _requestData.AddParameter("albumID", albumID);

            string _response = grooveSharp.getResponse(grooveSharp.getUrl(_requestData), _requestData);

            return _response;
        }
Example #4
0
        public static Country getCountry(this GrooveSharp grooveSharp)
        {
            RequestData _requestData = new RequestData(Method.getCountry,
                grooveSharp.APIKey, IPAddress.Parse(grooveSharp.getWANAddress()));

            string _url = grooveSharp.getUrl(_requestData);
            string _response = grooveSharp.getResponse(_url, _requestData);

            return Country.parse(_response);
        }
Example #5
0
        public void MarkAsOver30Seconds()
        {
            RequestData _requestData = new RequestData(Method.markStreamKeyOver30Secs,
                grooveSharp.APIKey, grooveSharp.SessionKey);

            _requestData.AddParameter("streamKey", Key);
            _requestData.AddParameter("streamServerID", ServerID);

            string _response = grooveSharp.getResponse(grooveSharp.getUrl(_requestData), _requestData);
        }
Example #6
0
        public static User getUserInfo(this GrooveSharp grooveSharp)
        {
            RequestData _requestData = new RequestData(Method.getUserInfo,
                grooveSharp.APIKey, grooveSharp.SessionKey);

            string _response = grooveSharp.getResponse(grooveSharp.getUrl(_requestData), _requestData);

            User _user = User.Parse(grooveSharp, _response);

            return _user;
        }
Example #7
0
        public IEnumerable<ISong> GetSongs()
        {
            List<Song> _songs = new List<Song>();

            RequestData _requestData = new RequestData(Method.getPlaylistSongs, grooveSharp.APIKey);
            _requestData.AddParameter("playlistID", ID);

            string _response = grooveSharp.getResponse(grooveSharp.getUrl(_requestData), _requestData);

            return Song.parseToList(grooveSharp, _response);
        }
Example #8
0
        public static string getSongURLFromSongID(this GrooveSharp grooveSharp, int songID)
        {
            RequestData _requestData = new RequestData(Method.getSongURLFromSongID,
                grooveSharp.APIKey, grooveSharp.SessionKey);

            _requestData.AddParameter("songID", songID);

            string _response = grooveSharp.getResponse(grooveSharp.getUrl(_requestData), _requestData);

            return _response;
        }
Example #9
0
        public static IEnumerable<ISong> getSongsInfo(this GrooveSharp grooveSharp, IEnumerable<int> songID)
        {
            RequestData _requestData = new RequestData(Method.getSongsInfo,
                grooveSharp.APIKey, grooveSharp.SessionKey);

            _requestData.AddParameter("songIDs", songID.ToArray());

            string _response = grooveSharp.getResponse(grooveSharp.getUrl(_requestData), _requestData);

            return Song.parseToList(grooveSharp, _response);
        }
Example #10
0
        public static IEnumerable<Song> searchSong(this GrooveSharp grooveSharp, string query)
        {
            try
            {
                RequestData _requestData = new RequestData(Method.getSongSearchResults, grooveSharp.APIKey);
                _requestData.AddParameter("query", query);
                _requestData.AddParameter("country", grooveSharp.GrooveCountry.ToJsonString());

                string _response = grooveSharp.getResponse(grooveSharp.getUrl(_requestData), _requestData);

                return Song.parseToList(grooveSharp, _response);
            }
            catch (GrooveException)
            {
                throw;
            }
        }
Example #11
0
        public static IEnumerable<Album> searchAlbum(this GrooveSharp grooveSharp, string query)
        {
            try
            {
                RequestData _requestData = new RequestData(Method.getAlbumSearchResults, grooveSharp.APIKey);

                _requestData.AddParameter("query", query);

                string _response = grooveSharp.getResponse(grooveSharp.getUrl(_requestData), _requestData);

                return Album.getListOfAlbums(grooveSharp, _response);
            }
            catch (GrooveException)
            {
                throw;
            }
        }
Example #12
0
        public static string pingServer(this GrooveSharp grooveSharp)
        {
            RequestData _requestData = new RequestData(Method.pingService, grooveSharp.APIKey);

            string _response = grooveSharp.getResponse(grooveSharp.getUrl(_requestData), _requestData);

            return Snippet.ToXElementCollection(_response).First().Value;
        }
Example #13
0
        public ISubStream GetSubscriberStream()
        {
            RequestData _requestData = new RequestData(Method.getSubscriberStreamKey,
                grooveSharp.APIKey, grooveSharp.SessionKey);

            _requestData.AddParameter("songID", ID);
            _requestData.AddParameter("country", grooveSharp.GrooveCountry);

            string _response = grooveSharp.getResponse(grooveSharp.getUrl(_requestData), _requestData);

            return SubStream.parse(_response, grooveSharp);
        }
Example #14
0
        public IEnumerable<IPlaylist> GetPlaylists()
        {
            RequestData _requestData = new RequestData(Method.getUserPlaylists,
                grooveSharp.APIKey, grooveSharp.SessionKey);

            string _response = grooveSharp.getResponse(grooveSharp.getUrl(_requestData), _requestData);

            List<Playlist> _playList = Playlist.parseToList(grooveSharp, _response);

            return _playList;
        }
        internal string getUrl(RequestData requestData)
        {
            byte[] _key = Encoding.ASCII.GetBytes(APISecret);
            string _sig = encodeJsonToSig(requestData.GetJsonData(), _key);

            return string.Format("{0}://{1}?sig={2}", (isHTTPS)? "https" : "http", grooveSharkAPI, _sig);
        }
        internal string getResponse(string url, RequestData requestData)
        {
            string _retVal = string.Empty;
            WebRequest _request = WebRequest.Create(url);

            _request.Method = "POST";

            string _data = requestData.GetJsonData();

            using (Stream _stream = _request.GetRequestStream())
            {
                _stream.Write(requestData.GetByteArrayData(), 0, requestData.GetByteArrayData().Length);
            }

            WebResponse _response = _request.GetResponse();

            using (StreamReader _reader = new StreamReader(_response.GetResponseStream()))
            {
                _retVal = _reader.ReadToEnd();
            }

            if (OnRequestRespondedEvent != null)
                OnRequestRespondedEvent(_retVal);

            XDocument _doc = JsonConvert.DeserializeXNode(_retVal, "response");

            var _errorElem = _doc.Element("response").Element("errors");

            if (_errorElem != null)
                throw new GrooveException(_errorElem);

            return _retVal;
        }
Example #17
0
        public static User login(this GrooveSharp grooveSharp, string username, string md5Password)
        {
            try
            {
                RequestData _requestData = new RequestData(Method.authenticate,
                    grooveSharp.APIKey, grooveSharp.SessionKey);

                _requestData.AddParameter("login", username);
                _requestData.AddParameter("password", md5Password);

                string _response = grooveSharp.getResponse(grooveSharp.getUrl(_requestData), _requestData);

                if (_response.Contains("\"UserID\":0"))
                    throw new GrooveException("User not found!");

                User _user = User.Parse(grooveSharp, _response);

                return _user;
            }
            catch (GrooveException)
            {
                throw;
            }
        }
Example #18
0
        public static string startSession(this GrooveSharp grooveSharp)
        {
            RequestData _requestData = new RequestData(Method.startSession, grooveSharp.APIKey);

            return grooveSharp.getResponse(grooveSharp.getUrl(_requestData), _requestData);
        }