/// <summary> /// A realtime call provides observational data at the present time, down to the minute. /// </summary> /// <param name="latitude">Latitude to request data for in decimal degrees, -87 to 89.</param> /// <param name="longitude">Longitude to request data for in decimal degrees, -180 to 180.</param> /// <param name="fields">Fields to request from climacell.</param> /// <param name="paramters">Optional request paramaters <see cref="OptionalParamters"/>.</param> /// <returns>A climacell <see cref="Realtime"/> response.</returns> public async Task <Realtime> GetRealtime(double latitude, double longitude, List <string> fields, OptionalParamters paramters = null) { if (fields.Count <= 0) { throw new ArgumentException($"{nameof(fields)} cannot be empty."); } var query = BuildRequestUri(latitude, longitude, fields, paramters, Endpoint.Realtime); var response = await httpClient.HttpRequestAsync($"{baseUri}{query}").ConfigureAwait(false); return(await Realtime.Deserialize(response, jsonSerializerService)); }