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; } [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1716")] Task Get(Uri uri); [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1716")] Task Get(Uri uri, IDictionary parameters); [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1716")] Task Get(Uri uri, IDictionary parameters, object body); 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, Dictionary headers); 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, IDictionary headers = null); void SetRequestTimeout(TimeSpan timeout); } }