public static async Task PostInstalledAddonsKeysAsync(IEnumerable <IAddon> addons) { var request = new HttpRequestMessage(HttpMethod.Post, "Addons").htua(); var restItems = addons.Where(a => a.IsInstalled).Select(a => new RestAddon() { DisplayText = a.DisplayText, ModName = a.ModName, Name = a.Name, Version = a.Version, Keys = a.KeyNames.Select(k => new RestAddonKey() { Key = k.Name, PubK = k.PubK.ToBase64() }).ToArray() }).ToArray(); request.AddJsonBody(restItems); await ExecuteRequest(request); }
public static async Task <IEnumerable <RestAddonInfoResult> > GetAddonInfosAsync(params string[] addonKeyNames) { try { var request = new HttpRequestMessage(HttpMethod.Post, "Addons/AddonInfo").htua(_offset); request.AddJsonBody(addonKeyNames); HttpResponseMessage restResult = await RestClient.SendAsync(request); if (restResult.StatusCode == HttpStatusCode.OK) { var c = await restResult.Content.ReadAsStringAsync(); var o = JsonConvert.DeserializeObject <List <RestAddonInfoResult> >(c); return(o); } } catch (Exception exception) { Debug.WriteLine(exception); } return(new RestAddonInfoResult[0]); }