示例#1
0
 public ApiFeature(
     IFullNodeBuilder fullNodeBuilder,
     FullNode fullNode,
     ApiFeatureOptions apiFeatureOptions,
     ApiSettings apiSettings,
     ILoggerFactory loggerFactory)
 {
     this.fullNodeBuilder   = fullNodeBuilder;
     this.fullNode          = fullNode;
     this.apiFeatureOptions = apiFeatureOptions;
     this.apiSettings       = apiSettings;
     this.logger            = loggerFactory.CreateLogger(this.GetType().FullName);
 }
示例#2
0
 public ApiFeature(
     IServerBuilder x42ServerBuilder,
     X42Server x42Server,
     ApiFeatureOptions apiFeatureOptions,
     ApiSettings apiSettings,
     ILoggerFactory loggerFactory,
     ICertificateStore certificateStore)
 {
     serverBuilder          = x42ServerBuilder;
     this.x42Server         = x42Server;
     this.apiFeatureOptions = apiFeatureOptions;
     this.apiSettings       = apiSettings;
     this.certificateStore  = certificateStore;
     logger = loggerFactory.CreateLogger(GetType().FullName);
 }
示例#3
0
        public ApiFeature(
            IFullNodeBuilder fullNodeBuilder,
            FullNode fullNode,
            ApiFeatureOptions apiFeatureOptions,
            ApiSettings apiSettings,
            ILoggerFactory loggerFactory,
            ICertificateStore certificateStore)
        {
            this.fullNodeBuilder   = fullNodeBuilder;
            this.fullNode          = fullNode;
            this.apiFeatureOptions = apiFeatureOptions;
            this.apiSettings       = apiSettings;
            this.certificateStore  = certificateStore;
            this.logger            = loggerFactory.CreateLogger(this.GetType().FullName);

            this.InitializeBeforeBase = true;
        }
示例#4
0
        public static IFullNodeBuilder UseApi(this IFullNodeBuilder fullNodeBuilder, Action <ApiSettings> setup = null, Action <ApiFeatureOptions> optionsAction = null)
        {
            // TODO: move the options in to the feature builder
            var options = new ApiFeatureOptions();

            optionsAction?.Invoke(options);

            fullNodeBuilder.ConfigureFeature(features =>
            {
                features
                .AddFeature <ApiFeature>()
                .FeatureServices(services =>
                {
                    services.AddSingleton(fullNodeBuilder);
                    services.AddSingleton(options);
                    services.AddSingleton <ApiSettings>(new ApiSettings(setup));
                });
            });

            return(fullNodeBuilder);
        }
示例#5
0
        public static IServerBuilder UseApi(this IServerBuilder serverBuilder,
                                            Action <ApiFeatureOptions> optionsAction = null)
        {
            // TODO: move the options in to the feature builder
            ApiFeatureOptions options = new ApiFeatureOptions();

            optionsAction?.Invoke(options);

            serverBuilder.ConfigureFeature(features =>
            {
                features
                .AddFeature <ApiFeature>()
                .FeatureServices(services =>
                {
                    services.AddSingleton(serverBuilder);
                    services.AddSingleton(options);
                    services.AddSingleton <ApiSettings>();
                    services.AddSingleton <ICertificateStore, CertificateStore>();
                });
            });

            return(serverBuilder);
        }
示例#6
0
 public NodeController(IFullNode fullNode, ApiFeatureOptions apiFeatureOptions)
 {
     this.fullNode          = fullNode;
     this.apiFeatureOptions = apiFeatureOptions;
 }