using System.Net; using System; using System.Collections.Generic; using System.Net.Http; using System.Threading.Tasks; namespace SpotifyAPI.Web.Http { public interface IAPIConnector { // IAuthenticator Authenticator { get; } // IJSONSerializer JSONSerializer { get; } // IHTTPClient HTTPClient { get; } Task Get(Uri uri); Task Get(Uri uri, IDictionary parameters); Task Post(Uri uri); Task Post(Uri uri, IDictionary parameters); Task Post(Uri uri, IDictionary parameters, object body); Task Post(Uri uri, IDictionary parameters, object body); Task Put(Uri uri); Task Put(Uri uri, IDictionary parameters); Task Put(Uri uri, IDictionary parameters, object body); Task Put(Uri uri, IDictionary parameters, object body); Task PutRaw(Uri uri, IDictionary parameters, object body); Task Delete(Uri uri); Task Delete(Uri uri, IDictionary parameters); Task Delete(Uri uri, IDictionary parameters, object body); Task Delete(Uri uri, IDictionary parameters, object body); Task SendAPIRequest(Uri uri, HttpMethod method, IDictionary parameters = null, object body = null); void SetRequestTimeout(TimeSpan timeout); } }