public static IAmazonMWSChannel Create(AmazonMWSClientOptions options, ILoggerFactory loggerFactory = null, IExecutionRetryPolicy retryPolicy = null)
        {
            var services = new ServiceCollection();

            services.AddAmazonMWS();

            if (loggerFactory == null)
            {
                loggerFactory = new NullLoggerFactory();
            }
            if (retryPolicy == null)
            {
                retryPolicy = new NoExecutionRetryPolicy();
            }

            return(new AmazonMWSChannel(new OptionsSnapshotWrappper <AmazonMWSClientOptions>(options), loggerFactory.CreateLogger <AmazonMWSChannel>(), retryPolicy));
        }
Example #2
0
 public ThrottleAndNetworkErrorExecutionRetryPolicy(IOptionsSnapshot <RetryPolicyOptions> options, ILoggerFactory loggerFactory)
 {
     this.networkErrorExecutionRetryPolicy = new NetworkErrorExecutionRetryPolicy(options, loggerFactory);
     this.throttleExecutionRetryPolicy     = new ThrottleExecutionRetryPolicy(options, loggerFactory);
 }
 public AmazonMWSChannel(IOptionsSnapshot <AmazonMWSClientOptions> options, ILogger <AmazonMWSChannel> logger, IExecutionRetryPolicy executionRetryPolicy)
 {
     this.options = options ?? throw new ArgumentNullException(nameof(options));
     this.executionRetryPolicy = executionRetryPolicy ?? throw new ArgumentNullException(nameof(executionRetryPolicy));
     this.logger = logger ?? throw new ArgumentNullException(nameof(logger));
 }