Sha256: bdc1382c76883c7b7221b754db7f661f889ff60d42e7889da29c5170e2689b00
Contents?: true
Size: 1011 Bytes
Versions: 5
Compression:
Stored size: 1011 Bytes
Contents
using System; using System.ComponentModel.DataAnnotations; using System.Net.Http; using Newtonsoft.Json; namespace Generators.Input { public static class CanonicalDataParser { private static readonly HttpClient HttpClient = new HttpClient(); public static CanonicalData Parse(string exercise) { var canonicalDataJson = DownloadCanonicalDataJson(exercise); var canonicalData = JsonConvert.DeserializeObject<CanonicalData>(canonicalDataJson); Validator.ValidateObject(canonicalData, new ValidationContext(canonicalData)); return canonicalData; } private static string DownloadCanonicalDataJson(string exercise) => HttpClient.GetStringAsync(GetCanonicalDataUrl(exercise)).GetAwaiter().GetResult(); private static Uri GetCanonicalDataUrl(string exercise) => new Uri($"https://raw.githubusercontent.com/exercism/x-common/master/exercises/{exercise}/canonical-data.json"); } }
Version data entries
5 entries across 5 versions & 1 rubygems