using System.Net.Http; using CFCoreAPI.Endpoints.Files; using CFCoreAPI.Endpoints.Games; namespace CFCoreAPI { public class CFCoreAPI { private readonly string _apiKey; public HttpClient HttpClient { get; private set; } public CFCoreAPI(string key) { this._apiKey = key; this.HttpClient = new HttpClient(); this.HttpClient.BaseAddress = new Uri("https://api.curseforge.com"); this.HttpClient.DefaultRequestHeaders.Add("x-api-key", _apiKey); this._gamesAPI = new Lazy(() => new GamesAPI(HttpClient)); this._filesAPI = new Lazy(() => new FilesAPI(HttpClient)); } private Lazy _gamesAPI; public GamesAPI GamesAPI => this._gamesAPI.Value; private Lazy _filesAPI; public FilesAPI FilesAPI => this._filesAPI.Value; } }