コード例 #1
0
 public PayloadTransformer(NtradaOptions options, IPayloadManager payloadManager, IValueProvider valueProvider)
 {
     _options        = options;
     _payloadManager = payloadManager;
     _valueProvider  = valueProvider;
     _payloads       = payloadManager.Payloads;
 }
コード例 #2
0
 public RouteProvider(NtradaOptions options, IRequestHandlerManager requestHandlerManager,
                      IRouteConfigurator routeConfigurator, IRequestExecutionValidator requestExecutionValidator,
                      IUpstreamBuilder upstreamBuilder, ILogger <RouteProvider> logger)
 {
     _routeConfigurator         = routeConfigurator;
     _requestExecutionValidator = requestExecutionValidator;
     _upstreamBuilder           = upstreamBuilder;
     _options = options;
     _requestHandlerManager = requestHandlerManager;
     _logger  = logger;
     _methods = new Dictionary <string, Action <IRouteBuilder, string, RouteConfig> >
     {
         ["get"] = (builder, path, routeConfig) =>
                   builder.MapGet(path,
                                  (request, response, routeData) => Handle(request, response, routeData, routeConfig)),
         ["post"] = (builder, path, routeConfig) =>
                    builder.MapPost(path,
                                    (request, response, routeData) => Handle(request, response, routeData, routeConfig)),
         ["put"] = (builder, path, routeConfig) =>
                   builder.MapPut(path,
                                  (request, response, routeData) => Handle(request, response, routeData, routeConfig)),
         ["delete"] = (builder, path, routeConfig) =>
                      builder.MapDelete(path,
                                        (request, response, routeData) => Handle(request, response, routeData, routeConfig)),
         ["patch"] = (builder, path, routeConfig) =>
                     builder.MapVerb("patch", path,
                                     (request, response, routeData) => Handle(request, response, routeData, routeConfig)),
     };
 }
コード例 #3
0
 public UpstreamBuilder(NtradaOptions options, IRequestHandlerManager requestHandlerManager,
                        ILogger <UpstreamBuilder> logger)
 {
     _options = options;
     _requestHandlerManager = requestHandlerManager;
     _logger = logger;
 }
コード例 #4
0
 public RequestProcessor(NtradaOptions options, IPayloadTransformer payloadTransformer,
                         IPayloadBuilder payloadBuilder, IPayloadValidator payloadValidator, IDownstreamBuilder downstreamBuilder)
 {
     _options            = options;
     _payloadTransformer = payloadTransformer;
     _payloadBuilder     = payloadBuilder;
     _payloadValidator   = payloadValidator;
     _downstreamBuilder  = downstreamBuilder;
 }
コード例 #5
0
ファイル: DownstreamHandler.cs プロジェクト: yshadmehr/Ntrada
 public DownstreamHandler(IServiceProvider serviceProvider, IRequestProcessor requestProcessor,
                          IPayloadValidator payloadValidator, NtradaOptions options, ILogger <DownstreamHandler> logger)
 {
     _serviceProvider              = serviceProvider;
     _requestProcessor             = requestProcessor;
     _payloadValidator             = payloadValidator;
     _options                      = options;
     _logger                       = logger;
     _beforeHttpClientRequestHooks = _serviceProvider.GetServices <IBeforeHttpClientRequestHook>();
 }
コード例 #6
0
        public AuthenticationManagerTests()
        {
            _options = new NtradaOptions();
            var serviceProvider = Substitute.For <IServiceProvider>();

            serviceProvider.GetService(typeof(IAuthenticationService)).Returns(_authenticationService);
            _authenticationService = Substitute.For <IAuthenticationService>();
            _httpContext           = new DefaultHttpContext
            {
                RequestServices = new ServiceProviderStub(_authenticationService),
            };
            _routeConfig           = new RouteConfig();
            _authenticationManager = new AuthenticationManager(_options);
        }
コード例 #7
0
 public DownstreamHandler(IServiceProvider serviceProvider, IRequestProcessor requestProcessor,
                          IPayloadValidator payloadValidator, NtradaOptions options, IHttpClientFactory httpClientFactory,
                          ILogger <DownstreamHandler> logger)
 {
     _requestProcessor  = requestProcessor;
     _payloadValidator  = payloadValidator;
     _options           = options;
     _httpClientFactory = httpClientFactory;
     _logger            = logger;
     _requestHooks      = serviceProvider.GetServices <IRequestHook>();
     _responseHooks     = serviceProvider.GetServices <IResponseHook>();
     _httpRequestHooks  = serviceProvider.GetServices <IHttpRequestHook>();
     _httpResponseHooks = serviceProvider.GetServices <IHttpResponseHook>();
 }
コード例 #8
0
 public RouteProvider(NtradaOptions options, IRequestHandlerManager requestHandlerManager,
                      IRouteConfigurator routeConfigurator, IRequestExecutionValidator requestExecutionValidator,
                      IUpstreamBuilder upstreamBuilder, WebApiEndpointDefinitions definitions, ILogger <RouteProvider> logger)
 {
     _routeConfigurator         = routeConfigurator;
     _requestExecutionValidator = requestExecutionValidator;
     _upstreamBuilder           = upstreamBuilder;
     _definitions           = definitions;
     _options               = options;
     _requestHandlerManager = requestHandlerManager;
     _logger  = logger;
     _methods = new Dictionary <string, Action <IEndpointRouteBuilder, string, RouteConfig> >
     {
         ["get"] = (builder, path, routeConfig) =>
                   builder.MapGet(path, ctx => Handle(ctx, routeConfig)),
         ["post"] = (builder, path, routeConfig) =>
                    builder.MapPost(path, ctx => Handle(ctx, routeConfig)),
         ["put"] = (builder, path, routeConfig) =>
                   builder.MapPut(path, ctx => Handle(ctx, routeConfig)),
         ["delete"] = (builder, path, routeConfig) =>
                      builder.MapDelete(path, ctx => Handle(ctx, routeConfig)),
     };
 }
コード例 #9
0
        private static IServiceCollection ConfigureHttpClient(this IServiceCollection services, NtradaOptions options)
        {
            var http = options.Http ?? new Http();
            var httpClientBuilder = services.AddHttpClient("ntrada");

            httpClientBuilder.AddTransientHttpErrorPolicy(p =>
                                                          p.WaitAndRetryAsync(http.Retries, retryAttempt =>
            {
                var interval = http.Exponential
                        ? Math.Pow(http.Interval, retryAttempt)
                        : http.Interval;

                return(TimeSpan.FromSeconds(interval));
            }));

            return(services);
        }
コード例 #10
0
 public PolicyManagerTests()
 {
     _options       = new NtradaOptions();
     _policyManager = new PolicyManager(_options);
 }
コード例 #11
0
        private static IServiceCollection ConfigurePayloads(this IServiceCollection services, NtradaOptions options)
        {
            if (options.PayloadsFolder is null)
            {
                options.PayloadsFolder = "Payloads";
            }

            if (options.PayloadsFolder.EndsWith("/"))
            {
                options.PayloadsFolder = options.PayloadsFolder
                                         .Substring(0, options.PayloadsFolder.Length - 1);
            }

            return(services);
        }
コード例 #12
0
        private static IServiceCollection ConfigureLogging(this IServiceCollection services, NtradaOptions options)
        {
            services.AddLogging(
                builder =>
            {
                builder.AddFilter("Microsoft", LogLevel.Warning)
                .AddFilter("System", LogLevel.Warning)
                .AddConsole();
            });

            return(services);
        }
コード例 #13
0
 public RouteConfigurator(NtradaOptions options)
 {
     _options = options;
 }
コード例 #14
0
 public ExtensionProvider(NtradaOptions options)
 {
     _options = options;
 }
コード例 #15
0
 public AuthenticationManager(NtradaOptions options)
 {
     _options = options;
 }
コード例 #16
0
 public ExtensionProviderTests()
 {
     _options           = new NtradaOptions();
     _extensionProvider = new ExtensionProvider(_options);
 }
コード例 #17
0
ファイル: PolicyManager.cs プロジェクト: yshadmehr/Ntrada
 public PolicyManager(NtradaOptions options)
 {
     _options  = options;
     _policies = LoadPolicies();
 }
コード例 #18
0
 public DownstreamBuilder(NtradaOptions options, IValueProvider valueProvider)
 {
     _options       = options;
     _valueProvider = valueProvider;
 }
コード例 #19
0
 public PayloadManager(NtradaOptions options)
 {
     _options = options;
     Payloads = LoadPayloads();
 }