using System.Net.Http; [assembly: System.Runtime.CompilerServices.InternalsVisibleTo("Firebase.Database.Tests")] namespace Firebase.Database { using System; using System.Collections.Generic; using System.Threading.Tasks; using Firebase.Database.Offline; using Firebase.Database.Query; /// /// Firebase client which acts as an entry point to the online database. /// public class FirebaseClient : IDisposable { internal readonly HttpClient HttpClient; internal readonly FirebaseOptions Options; private readonly string baseUrl; /// /// Initializes a new instance of the class. /// /// The base url. /// Offline database. public FirebaseClient(string baseUrl, FirebaseOptions options = null) { this.HttpClient = new HttpClient(); this.Options = options ?? new FirebaseOptions(); this.baseUrl = baseUrl; if (!this.baseUrl.EndsWith("/")) { this.baseUrl += "/"; } } /// /// Queries for a child of the data root. /// /// Name of the child. /// . public ChildQuery Child(string resourceName) { return new ChildQuery(this, () => this.baseUrl + resourceName); } public void Dispose() { HttpClient?.Dispose(); } } }