Beispiel #1
0
 public ManagementHttpClient(
     IResiliencePolicyProvider resiliencePolicyProvider,
     bool enableResilienceLogic)
 {
     _httpClient = new HttpClient();
     _resiliencePolicyProvider = resiliencePolicyProvider;
     _enableResilienceLogic    = enableResilienceLogic;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="DeliveryClient"/> class for retrieving content of the specified project.
 /// </summary>
 /// <param name="deliveryOptions">The settings of the Kentico Cloud project.</param>
 /// <param name="contentLinkUrlResolver">An instance of an object that can resolve links in rich text elements</param>
 /// <param name="contentItemsProcessor">An instance of an object that can resolve modular content in rich text elements</param>
 /// <param name="codeFirstModelProvider">An instance of an object that can JSON responses into strongly typed CLR objects</param>
 /// <param name="retryPolicyProvider">A provider of a resilience (retry) policy.</param>
 public DeliveryClient(IOptions <DeliveryOptions> deliveryOptions, IContentLinkUrlResolver contentLinkUrlResolver = null, IInlineContentItemsProcessor contentItemsProcessor = null, ICodeFirstModelProvider codeFirstModelProvider = null, IResiliencePolicyProvider retryPolicyProvider = null)
     : this(deliveryOptions.Value)
 {
     ContentLinkUrlResolver      = contentLinkUrlResolver;
     InlineContentItemsProcessor = contentItemsProcessor;
     CodeFirstModelProvider      = codeFirstModelProvider;
     ResiliencePolicyProvider    = retryPolicyProvider;
 }
Beispiel #3
0
        internal static DeliveryClient GetMockedDeliveryClientWithProjectId(
            Guid projectId,
            MockHttpMessageHandler httpMessageHandler = null,
            IModelProvider modelProvider   = null,
            IPropertyMapper propertyMapper = null,
            IResiliencePolicyProvider resiliencePolicyProvider = null,
            ITypeProvider typeProvider = null,
            IContentLinkUrlResolver contentLinkUrlResolver           = null,
            IInlineContentItemsProcessor inlineContentItemsProcessor = null
            )
        {
            if (modelProvider != null)
            {
                _mockModelProvider = modelProvider;
            }
            if (propertyMapper != null)
            {
                _mockPropertyMapper = propertyMapper;
            }
            if (resiliencePolicyProvider != null)
            {
                _mockResiliencePolicyProvider = resiliencePolicyProvider;
            }
            if (typeProvider != null)
            {
                _mockTypeProvider = typeProvider;
            }
            if (contentLinkUrlResolver != null)
            {
                _mockContentLinkUrlResolver = contentLinkUrlResolver;
            }
            if (inlineContentItemsProcessor != null)
            {
                _mockInlineContentItemsProcessor = inlineContentItemsProcessor;
            }
            var httpClient = httpMessageHandler != null?httpMessageHandler.ToHttpClient() : MockHttp.ToHttpClient();

            var client = new DeliveryClient(
                Options.Create(new DeliveryOptions {
                ProjectId = projectId.ToString()
            }),
                httpClient,
                _mockContentLinkUrlResolver,
                _mockInlineContentItemsProcessor,
                _mockModelProvider,
                _mockResiliencePolicyProvider,
                _mockTypeProvider,
                _mockPropertyMapper
                );

            return(client);
        }
Beispiel #4
0
 /// <summary>
 /// Initializes a new instance of the <see cref="DeliveryClient"/> class for retrieving content of the specified project.
 /// </summary>
 /// <param name="deliveryOptions">The settings of the Kentico Cloud project.</param>
 /// <param name="httpClient">A custom HTTP client instance</param>
 /// <param name="contentLinkUrlResolver">An instance of an object that can resolve links in rich text elements</param>
 /// <param name="contentItemsProcessor">An instance of an object that can resolve linked items in rich text elements</param>
 /// <param name="modelProvider">An instance of an object that can JSON responses into strongly typed CLR objects</param>
 /// <param name="retryPolicyProvider">A provider of a resilience (retry) policy.</param>
 /// <param name="typeProvider">An instance of an object that can map Kentico Cloud content types to CLR types</param>
 /// <param name="propertyMapper">An instance of an object that can map Kentico Cloud content item fields to model properties</param>
 public DeliveryClient(
     IOptions <DeliveryOptions> deliveryOptions,
     HttpClient httpClient = null,
     IContentLinkUrlResolver contentLinkUrlResolver     = null,
     IInlineContentItemsProcessor contentItemsProcessor = null,
     IModelProvider modelProvider = null,
     IResiliencePolicyProvider retryPolicyProvider = null,
     ITypeProvider typeProvider     = null,
     IPropertyMapper propertyMapper = null
     )
 {
     DeliveryOptions             = deliveryOptions.Value;
     HttpClient                  = httpClient;
     ContentLinkUrlResolver      = contentLinkUrlResolver;
     InlineContentItemsProcessor = contentItemsProcessor;
     ModelProvider               = modelProvider;
     ResiliencePolicyProvider    = retryPolicyProvider;
     TypeProvider                = typeProvider;
     PropertyMapper              = propertyMapper;
 }
 IOptionalClientSetup IOptionalClientSetup.WithResiliencePolicyProvider(IResiliencePolicyProvider resiliencePolicyProvider)
 => RegisterOrThrow(resiliencePolicyProvider, nameof(resiliencePolicyProvider));