internal DownlinkBuilderDefaults(DownlinkBuilderOptions opts) { RegisterDefaultPatterns = !opts.HasFlag(DownlinkBuilderOptions.SkipDefaultPatterns); RegisterDefaultHandlers = !opts.HasFlag(DownlinkBuilderOptions.SkipDefaultHandlers); RegisterDefaultSchemeClients = !opts.HasFlag(DownlinkBuilderOptions.SkipDefaultSchemeClients); RegisterDefaultStorage = !opts.HasFlag(DownlinkBuilderOptions.SkipDefaultStorage); }
private static void BuildDownlink(IServiceCollection services, Action <IDownlinkBuilder> configure, DownlinkBuilderOptions opts) { services.AddMediatR(); var builder = new DownlinkBuilder(services); builder.Services.AddSingleton <IPluginLoader, PluginLoader>(); builder.Services.AddSingleton <DownlinkBuilderDefaults>(new DownlinkBuilderDefaults(opts)); builder.AddPlugin <DownlinkRoutingPlugin>(); builder.AddPlugin <DownlinkContextPlugin>(); builder.AddPlugin <DownlinkDefaultServices>(); configure?.Invoke(builder); builder.Build(); }
public static IMvcCoreBuilder AddDownlink(this IMvcCoreBuilder builder, Action <IDownlinkBuilder> configure, DownlinkBuilderOptions opts) { builder.AddApplicationPart(typeof(DownlinkBuilder).Assembly); BuildDownlink(builder.Services, configure, opts); return(builder); }
public static IMvcCoreBuilder AddDownlink(this IMvcCoreBuilder builder, DownlinkBuilderOptions opts) { builder.AddDownlink(null, opts); return(builder); }