public async Task <SystemMatch> GetKnownMatch(string systemName) { var url = $"https://www.edsm.net/api-v1/system?showId=1&systemName={HttpUtility.HtmlEncode(systemName)}"; var response = await _client.GetAsync(url); var content = await response.Content.ReadAsStringAsync(); if (content.Trim() != "[]") { var data = ConfiguredJson.Deserialize <EDSMResponse>(content); return(new SystemMatch(data.Name, data.Id64)); } return(null); }
public async Task <SystemMatch> GetKnownMatch(string systemName) { var payload = ConfiguredJson.Serialize(new SpanshRequest(systemName)); var url = "https://spansh.co.uk/api/systems/search"; var response = await _client.PostAsync(url, new StringContent(payload)); var data = ConfiguredJson.Deserialize <SpanshResponse>(await response.Content.ReadAsStringAsync()); var system = data.Results.FirstOrDefault(x => x.Name.ToLower() == systemName.ToLower()); if (system != null) { return(new SystemMatch(system.Name, system.Id64)); } return(null); }
public Task SaveMatch(string name, SystemMatch match) { var raw = ConfiguredJson.Serialize(match); return(_redis.StringSetAsync($"{_namePrefix}:{name}", raw, expiry: TimeSpan.FromDays(7))); }
public async Task <SystemMatch> GetMatchOrNull(string name) { var raw = await _redis.StringGetAsync($"{_namePrefix}:{name}"); return(string.IsNullOrEmpty(raw) ? null : ConfiguredJson.Deserialize <SystemMatch>(raw)); }