Sha256: 85a922bf5dd1ec2a2c22c291fb0e74836fde51c7e01589afd2216f82808ad1e3
Contents?: true
Size: 1010 Bytes
Versions: 78
Compression:
Stored size: 1010 Bytes
Contents
using System; using System.ComponentModel.DataAnnotations; using System.Net.Http; using Newtonsoft.Json; namespace Generators.Data { 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
78 entries across 78 versions & 1 rubygems