using System.Net;

namespace DigitalData.Core.Client.Interface
{
    public interface IBaseHttpClientService
    {
        CookieCollection GetCookies(string path = "");

        Task<HttpResponseMessage> FetchAsync(
            string? scheme = null,
            int? port = null,
            string path = "",
            IEnumerable<KeyValuePair<string, object?>>? queryParams = null,
            HttpMethod? method = null,
            HttpContent? body = null,
            IEnumerable<KeyValuePair<string, object>>? form = null,
            IEnumerable<KeyValuePair<string, object>>? headers = null,
            bool sendWithCookie = true,
            bool saveCookie = true
        );
    }
}