/// <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> public DeliveryClient(DeliveryOptions deliveryOptions) { _deliveryOptions = deliveryOptions ?? throw new ArgumentNullException(nameof(deliveryOptions), "The Delivery options object is not specified."); if (_deliveryOptions.ProjectId == null) { throw new ArgumentNullException(nameof(_deliveryOptions.ProjectId), "Kentico Cloud project identifier is not specified."); } if (_deliveryOptions.ProjectId == string.Empty) { throw new ArgumentException("Kentico Cloud project identifier is not specified.", nameof(_deliveryOptions.ProjectId)); } Guid projectIdGuid; if (!Guid.TryParse(_deliveryOptions.ProjectId, out projectIdGuid)) { throw new ArgumentException("Provided string is not a valid project identifier ({ProjectId}). Haven't you accidentally passed the Preview API key instead of the project identifier?", nameof(_deliveryOptions.ProjectId)); } if (_deliveryOptions.UsePreviewApi) { if (_deliveryOptions.PreviewApiKey == null) { throw new ArgumentNullException(nameof(_deliveryOptions.PreviewApiKey), "The Preview API key is not specified."); } if (_deliveryOptions.PreviewApiKey == string.Empty) { throw new ArgumentException("The Preview API key is not specified.", nameof(_deliveryOptions.PreviewApiKey)); } } _deliveryOptions.ProjectId = projectIdGuid.ToString("D"); }
public DeliveryEndpointUrlBuilder(DeliveryOptions deliveryOptions) { _deliveryOptions = deliveryOptions; }