internal static DeliveryClient GetMockedDeliveryClientWithProjectId( Guid projectId, MockHttpMessageHandler httpMessageHandler = null, IModelProvider modelProvider = null, IRetryPolicyProvider resiliencePolicyProvider = null, ITypeProvider typeProvider = null) { if (modelProvider != null) { _mockModelProvider = modelProvider; } if (resiliencePolicyProvider != null) { _mockResiliencePolicyProvider = resiliencePolicyProvider; } if (typeProvider != null) { _mockTypeProvider = typeProvider; } var httpClient = httpMessageHandler != null?httpMessageHandler.ToHttpClient() : MockHttp.ToHttpClient(); var client = new DeliveryClient( DeliveryOptionsFactory.CreateMonitor(new DeliveryOptions { ProjectId = projectId.ToString() }), _mockModelProvider, _mockResiliencePolicyProvider, _mockTypeProvider, new DeliveryHttpClient(httpClient), _serializer ); return(client); }
internal static DeliveryClient GetMockedDeliveryClientWithProjectId( Guid projectId, MockHttpMessageHandler httpMessageHandler = null, IModelProvider modelProvider = null, IPropertyMapper propertyMapper = null, IRetryPolicyProvider 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( DeliveryOptionsFactory.CreateMonitor(new DeliveryOptions { ProjectId = projectId.ToString() }), new ContentLinkResolver(_mockContentLinkUrlResolver), _mockInlineContentItemsProcessor, _mockModelProvider, _mockResiliencePolicyProvider, _mockTypeProvider, _mockPropertyMapper, new DeliveryHttpClient(httpClient) ); return(client); }
/// <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 Kontent project.</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 retry policy.</param> /// <param name="typeProvider">An instance of an object that can map Kentico Kontent content types to CLR types</param> /// <param name="deliveryHttpClient">An instance of an object that can send request against Kentico Kontent Delivery API</param> /// <param name="serializer">Default JSON serializer</param> public DeliveryClient( IOptions <DeliveryOptions> deliveryOptions, IModelProvider modelProvider = null, IRetryPolicyProvider retryPolicyProvider = null, ITypeProvider typeProvider = null, IDeliveryHttpClient deliveryHttpClient = null, JsonSerializer serializer = null) { DeliveryOptions = deliveryOptions; ModelProvider = modelProvider; RetryPolicyProvider = retryPolicyProvider; TypeProvider = typeProvider; DeliveryHttpClient = deliveryHttpClient; Serializer = serializer; }
/// <summary> /// Creates a <see cref="IDeliveryClient"/> instance manually. /// </summary> /// <param name="options">A <see cref="DeliveryOptions"/></param> /// <param name="modelProvider">A <see cref="IModelProvider"/> instance.</param> /// <param name="retryPolicyProvider">A <see cref="IRetryPolicyProvider"/> instance.</param> /// <param name="typeProvider">A <see cref="ITypeProvider"/> instance.</param> /// <param name="deliveryHttpClient">A <see cref="IDeliveryHttpClient"/> instance.</param> /// <param name="jsonSerializer">A <see cref="JsonSerializer"/> instance.</param> /// <returns></returns> public static IDeliveryClient Create( IOptionsMonitor <DeliveryOptions> options, IModelProvider modelProvider, IRetryPolicyProvider retryPolicyProvider, ITypeProvider typeProvider, IDeliveryHttpClient deliveryHttpClient, JsonSerializer jsonSerializer) { return(new DeliveryClient(options, modelProvider, retryPolicyProvider, typeProvider, deliveryHttpClient, jsonSerializer)); }
/// <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 Kontent project.</param> /// <param name="contentLinkResolver">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 retry policy.</param> /// <param name="typeProvider">An instance of an object that can map Kentico Kontent content types to CLR types</param> /// <param name="propertyMapper">An instance of an object that can map Kentico Kontent content item fields to model properties</param> /// <param name="deliveryHttpClient">An instance of an object that can send request againts Kentico Kontent Delivery API</param> public DeliveryClient( IOptionsMonitor <DeliveryOptions> deliveryOptions, IContentLinkResolver contentLinkResolver = null, IInlineContentItemsProcessor contentItemsProcessor = null, IModelProvider modelProvider = null, IRetryPolicyProvider retryPolicyProvider = null, ITypeProvider typeProvider = null, IPropertyMapper propertyMapper = null, IDeliveryHttpClient deliveryHttpClient = null ) { DeliveryOptions = deliveryOptions; ContentLinkResolver = contentLinkResolver; InlineContentItemsProcessor = contentItemsProcessor; ModelProvider = modelProvider; RetryPolicyProvider = retryPolicyProvider; TypeProvider = typeProvider; PropertyMapper = propertyMapper; DeliveryHttpClient = deliveryHttpClient; }
/// <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 Kontent 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 retry policy.</param> /// <param name="typeProvider">An instance of an object that can map Kentico Kontent content types to CLR types</param> /// <param name="propertyMapper">An instance of an object that can map Kentico Kontent content item fields to model properties</param> public DeliveryClient( IOptions <DeliveryOptions> deliveryOptions, HttpClient httpClient = null, IContentLinkUrlResolver contentLinkUrlResolver = null, IInlineContentItemsProcessor contentItemsProcessor = null, IModelProvider modelProvider = null, IRetryPolicyProvider retryPolicyProvider = null, ITypeProvider typeProvider = null, IPropertyMapper propertyMapper = null ) { DeliveryOptions = deliveryOptions.Value; HttpClient = httpClient; ContentLinkUrlResolver = contentLinkUrlResolver; InlineContentItemsProcessor = contentItemsProcessor; ModelProvider = modelProvider; RetryPolicyProvider = retryPolicyProvider; TypeProvider = typeProvider; PropertyMapper = propertyMapper; }
IOptionalClientSetup IOptionalClientSetup.WithRetryPolicyProvider(IRetryPolicyProvider retryPolicyProvider) => RegisterOrThrow(retryPolicyProvider, nameof(retryPolicyProvider));