protected override Task <ValidationResult> Validate(Stream packageStream) { ValidationResult result = new ValidationResult(); JObject apiapp = GetJObject(packageStream, ApiAppMetadata); if (apiapp == null) { result.Errors.Add(string.Format("required file '{0}' is missing from package", ApiAppMetadata)); } else { result.PackageIdentity = ValidationHelpers.ValidateIdentity(apiapp, result.Errors); //CheckRequiredProperty(apiapp, errors, "description"); ValidationHelpers.CheckRequiredProperty(apiapp, result.Errors, "title"); ValidationHelpers.CheckRequiredProperty(apiapp, result.Errors, "summary"); ValidationHelpers.CheckRequiredProperty(apiapp, result.Errors, "author"); ValidationHelpers.CheckRequiredProperty(apiapp, result.Errors, "namespace"); } //CheckRequiredFile(packageStream, result.Errors, "content/metadata/icons/small-icon.png"); //CheckRequiredFile(packageStream, result.Errors, "content/metadata/icons/medium-icon.png"); //CheckRequiredFile(packageStream, result.Errors, "content/metadata/icons/large-icon.png"); //CheckRequiredFile(packageStream, result.Errors, "content/metadata/icons/hero-icon.png"); //CheckRequiredFile(packageStream, result.Errors, "content/metadata/icons/wide-icon.png"); return(Task.FromResult(result)); }
async Task <ValidationResult> Validate(Stream requestStream) { ValidationResult result = new ValidationResult(); JObject metadata; using (StreamReader reader = new StreamReader(requestStream)) { try { metadata = JObject.Parse(await reader.ReadToEndAsync()); result.PackageIdentity = ValidationHelpers.ValidateIdentity(metadata, result.Errors); } catch (FormatException) { result.Errors.Add("request could not be parsed as JSON"); } } return(result); }