# Microsoft.AspNetCore.Http.Metadata

``` diff
 namespace Microsoft.AspNetCore.Http.Metadata {
+    public sealed class EndpointMetadataContext {
+        public EndpointMetadataContext(MethodInfo method, IList<object> endpointMetadata, IServiceProvider? services);
+        public IList<object> EndpointMetadata { get; }
+        public MethodInfo Method { get; }
+        public IServiceProvider? Services { get; }
+    }
+    public sealed class EndpointParameterMetadataContext {
+        public EndpointParameterMetadataContext(ParameterInfo parameter, IList<object> endpointMetadata, IServiceProvider? services);
+        public IList<object> EndpointMetadata { get; }
+        public ParameterInfo Parameter { get; }
+        public IServiceProvider? Services { get; }
+    }
+    public interface IEndpointMetadataProvider {
+        static abstract void PopulateMetadata(EndpointMetadataContext context);
+    }
+    public interface IEndpointParameterMetadataProvider {
+        static abstract void PopulateMetadata(EndpointParameterMetadataContext parameterContext);
+    }
 }
```

