# Microsoft.AspNetCore.Builder

``` diff
 namespace Microsoft.AspNetCore.Builder {
+    public sealed class ComponentEndpointConventionBuilder : IEndpointConventionBuilder, IHubEndpointConventionBuilder {
+        public void Add(Action<EndpointBuilder> convention);
+    }
     public static class ComponentEndpointConventionBuilderExtensions {
+        public static ComponentEndpointConventionBuilder AddComponent(this ComponentEndpointConventionBuilder builder, Type componentType, string selector);
-        public static ComponentEndpointConventionBuilder AddComponent(this ComponentEndpointConventionBuilder builder, Type componentType, string selector);

     }
     public static class ComponentEndpointRouteBuilderExtensions {
-        public static ComponentEndpointConventionBuilder MapBlazorHub(this IEndpointRouteBuilder endpoints);

+        public static ComponentEndpointConventionBuilder MapBlazorHub(this IEndpointRouteBuilder endpoints);
-        public static ComponentEndpointConventionBuilder MapBlazorHub(this IEndpointRouteBuilder endpoints, Action<HttpConnectionDispatcherOptions> configureOptions);

+        public static ComponentEndpointConventionBuilder MapBlazorHub(this IEndpointRouteBuilder endpoints, Action<HttpConnectionDispatcherOptions> configureOptions);
-        public static ComponentEndpointConventionBuilder MapBlazorHub(this IEndpointRouteBuilder endpoints, Type type, string selector);

+        public static ComponentEndpointConventionBuilder MapBlazorHub(this IEndpointRouteBuilder endpoints, Type type, string selector);
-        public static ComponentEndpointConventionBuilder MapBlazorHub(this IEndpointRouteBuilder endpoints, Type type, string selector, Action<HttpConnectionDispatcherOptions> configureOptions);

+        public static ComponentEndpointConventionBuilder MapBlazorHub(this IEndpointRouteBuilder endpoints, Type type, string selector, Action<HttpConnectionDispatcherOptions> configureOptions);
-        public static ComponentEndpointConventionBuilder MapBlazorHub(this IEndpointRouteBuilder endpoints, Type componentType, string selector, string path);

+        public static ComponentEndpointConventionBuilder MapBlazorHub(this IEndpointRouteBuilder endpoints, Type componentType, string selector, string path);
-        public static ComponentEndpointConventionBuilder MapBlazorHub(this IEndpointRouteBuilder endpoints, Type componentType, string selector, string path, Action<HttpConnectionDispatcherOptions> configureOptions);

+        public static ComponentEndpointConventionBuilder MapBlazorHub(this IEndpointRouteBuilder endpoints, Type componentType, string selector, string path, Action<HttpConnectionDispatcherOptions> configureOptions);
-        public static ComponentEndpointConventionBuilder MapBlazorHub<TComponent>(this IEndpointRouteBuilder endpoints, string selector) where TComponent : IComponent;

+        public static ComponentEndpointConventionBuilder MapBlazorHub<TComponent>(this IEndpointRouteBuilder endpoints, string selector) where TComponent : IComponent;
-        public static ComponentEndpointConventionBuilder MapBlazorHub<TComponent>(this IEndpointRouteBuilder endpoints, string selector, Action<HttpConnectionDispatcherOptions> configureOptions) where TComponent : IComponent;

+        public static ComponentEndpointConventionBuilder MapBlazorHub<TComponent>(this IEndpointRouteBuilder endpoints, string selector, Action<HttpConnectionDispatcherOptions> configureOptions) where TComponent : IComponent;
-        public static ComponentEndpointConventionBuilder MapBlazorHub<TComponent>(this IEndpointRouteBuilder endpoints, string selector, string path) where TComponent : IComponent;

+        public static ComponentEndpointConventionBuilder MapBlazorHub<TComponent>(this IEndpointRouteBuilder endpoints, string selector, string path) where TComponent : IComponent;
-        public static ComponentEndpointConventionBuilder MapBlazorHub<TComponent>(this IEndpointRouteBuilder endpoints, string selector, string path, Action<HttpConnectionDispatcherOptions> configureOptions) where TComponent : IComponent;

+        public static ComponentEndpointConventionBuilder MapBlazorHub<TComponent>(this IEndpointRouteBuilder endpoints, string selector, string path, Action<HttpConnectionDispatcherOptions> configureOptions) where TComponent : IComponent;
     }
+    public sealed class ConnectionEndpointRouteBuilder : IEndpointConventionBuilder {
+        public void Add(Action<EndpointBuilder> convention);
+    }
     public static class ConnectionEndpointRouteBuilderExtensions {
-        public static IEndpointConventionBuilder MapConnectionHandler<TConnectionHandler>(this IEndpointRouteBuilder endpoints, string pattern) where TConnectionHandler : ConnectionHandler;

+        public static ConnectionEndpointRouteBuilder MapConnectionHandler<TConnectionHandler>(this IEndpointRouteBuilder endpoints, string pattern) where TConnectionHandler : ConnectionHandler;
-        public static IEndpointConventionBuilder MapConnectionHandler<TConnectionHandler>(this IEndpointRouteBuilder endpoints, string pattern, Action<HttpConnectionDispatcherOptions> configureOptions) where TConnectionHandler : ConnectionHandler;

+        public static ConnectionEndpointRouteBuilder MapConnectionHandler<TConnectionHandler>(this IEndpointRouteBuilder endpoints, string pattern, Action<HttpConnectionDispatcherOptions> configureOptions) where TConnectionHandler : ConnectionHandler;
-        public static IEndpointConventionBuilder MapConnections(this IEndpointRouteBuilder endpoints, string pattern, HttpConnectionDispatcherOptions options, Action<IConnectionBuilder> configure);

+        public static ConnectionEndpointRouteBuilder MapConnections(this IEndpointRouteBuilder endpoints, string pattern, HttpConnectionDispatcherOptions options, Action<IConnectionBuilder> configure);
-        public static IEndpointConventionBuilder MapConnections(this IEndpointRouteBuilder endpoints, string pattern, Action<IConnectionBuilder> configure);

+        public static ConnectionEndpointRouteBuilder MapConnections(this IEndpointRouteBuilder endpoints, string pattern, Action<IConnectionBuilder> configure);
     }
+    public sealed class HubEndpointConventionBuilder : IEndpointConventionBuilder, IHubEndpointConventionBuilder {
+        public void Add(Action<EndpointBuilder> convention);
+    }
     public static class HubEndpointRouteBuilderExtensions {
-        public static HubEndpointConventionBuilder MapHub<THub>(this IEndpointRouteBuilder endpoints, string pattern) where THub : Hub;

+        public static HubEndpointConventionBuilder MapHub<THub>(this IEndpointRouteBuilder endpoints, string pattern) where THub : Hub;
-        public static HubEndpointConventionBuilder MapHub<THub>(this IEndpointRouteBuilder endpoints, string pattern, Action<HttpConnectionDispatcherOptions> configureOptions) where THub : Hub;

+        public static HubEndpointConventionBuilder MapHub<THub>(this IEndpointRouteBuilder endpoints, string pattern, Action<HttpConnectionDispatcherOptions> configureOptions) where THub : Hub;
     }
+    public interface IHubEndpointConventionBuilder : IEndpointConventionBuilder
 }
```

