// Caches all of the resource-metadata associated with resources for a specific media type. public override void Configure() { foreach (IResourceMap resourceMap in ResourceMappings) { if (resourceMap.MediaType == null) { throw new InvalidOperationException( $"The resource map of type: {resourceMap.GetType()} didn't specify the media-type."); } // Create an entry for the media-type name. Each media-type will have a single entry. if (!_mediaResourceTypeMeta.TryGetValue(resourceMap.MediaType, out MediaTypeEntry mediaTypeEntry)) { IResourceProvider provider = CreateProvider(resourceMap); mediaTypeEntry = new MediaTypeEntry(resourceMap.MediaType, provider); _mediaResourceTypeMeta[mediaTypeEntry.MediaType] = mediaTypeEntry; } // Add the configured resource metadata to the media-type entry. resourceMap.BuildMap(); foreach (IResourceMeta resourceMeta in resourceMap.ResourceMeta) { mediaTypeEntry.AddResourceMeta(resourceMeta); } } }
// Caches all of the resource-metadata associated with resources for a specific media type. public override void Configure() { foreach (IResourceMap resourceMap in ResourceMappings) { // Create an entry for the media-type name. Each media-type will have a single entry. if (!_mediaResourceTypeMeta.TryGetValue(resourceMap.MediaType, out MediaTypeEntry mediaTypeEntry)) { IResourceProvider provider = CreateProvider(resourceMap); mediaTypeEntry = new MediaTypeEntry(resourceMap.MediaType, provider); _mediaResourceTypeMeta[mediaTypeEntry.MediaType] = mediaTypeEntry; } // Build the mapping. resourceMap.BuildMap(); foreach (IResourceMeta resourceMeta in resourceMap.ResourceMeta) { mediaTypeEntry.AddResourceMeta(resourceMeta); } } }