2020-05-03 07:10:41 +01:00
|
|
|
using System.Net;
|
2020-05-01 19:05:28 +01:00
|
|
|
using System;
|
|
|
|
using System.Collections.Generic;
|
2020-05-02 18:57:31 +01:00
|
|
|
using System.Net.Http;
|
2020-05-01 19:05:28 +01:00
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
|
|
namespace SpotifyAPI.Web.Http
|
|
|
|
{
|
|
|
|
public interface IAPIConnector
|
|
|
|
{
|
|
|
|
// IAuthenticator Authenticator { get; }
|
|
|
|
|
|
|
|
// IJSONSerializer JSONSerializer { get; }
|
|
|
|
|
|
|
|
// IHTTPClient HTTPClient { get; }
|
|
|
|
|
|
|
|
Task<T> Get<T>(Uri uri);
|
|
|
|
Task<T> Get<T>(Uri uri, IDictionary<string, string> parameters);
|
|
|
|
|
|
|
|
Task<T> Post<T>(Uri uri);
|
|
|
|
Task<T> Post<T>(Uri uri, IDictionary<string, string> parameters);
|
|
|
|
Task<T> Post<T>(Uri uri, IDictionary<string, string> parameters, object body);
|
2020-05-04 22:02:53 +01:00
|
|
|
Task<HttpStatusCode> Post(Uri uri, IDictionary<string, string> parameters, object body);
|
2020-05-01 19:05:28 +01:00
|
|
|
|
|
|
|
Task<T> Put<T>(Uri uri);
|
|
|
|
Task<T> Put<T>(Uri uri, IDictionary<string, string> parameters);
|
|
|
|
Task<T> Put<T>(Uri uri, IDictionary<string, string> parameters, object body);
|
2020-05-03 08:06:28 +01:00
|
|
|
Task<HttpStatusCode> Put(Uri uri, IDictionary<string, string> parameters, object body);
|
2020-05-03 07:10:41 +01:00
|
|
|
Task<HttpStatusCode> PutRaw(Uri uri, IDictionary<string, string> parameters, object body);
|
2020-05-01 19:05:28 +01:00
|
|
|
|
|
|
|
Task<T> Delete<T>(Uri uri);
|
|
|
|
Task<T> Delete<T>(Uri uri, IDictionary<string, string> parameters);
|
|
|
|
Task<T> Delete<T>(Uri uri, IDictionary<string, string> parameters, object body);
|
2020-05-04 22:02:53 +01:00
|
|
|
Task<HttpStatusCode> Delete(Uri uri, IDictionary<string, string> parameters, object body);
|
2020-05-01 19:05:28 +01:00
|
|
|
|
2020-05-02 18:57:31 +01:00
|
|
|
Task<T> SendAPIRequest<T>(Uri uri, HttpMethod method, IDictionary<string, string> parameters = null, object body = null);
|
|
|
|
|
2020-05-01 19:05:28 +01:00
|
|
|
void SetRequestTimeout(TimeSpan timeout);
|
|
|
|
}
|
|
|
|
}
|