Example #1
0
        private static Uri GetModelServiceUri(string uri)
        {
            if (string.IsNullOrEmpty(uri))
            {
                IDiscoveryService        discoveryService = DiscoveryServiceProvider.Instance.ServiceClient;
                ContentServiceCapability contentService   =
                    discoveryService.CreateQuery <ContentServiceCapability>().Take(1).FirstOrDefault();
                if (contentService == null)
                {
                    throw new ModelServiceException("Content Service Capability not found in Discovery Service.");
                }
                ContentKeyValuePair modelServiceExtensionProperty = contentService.ExtensionProperties
                                                                    .FirstOrDefault(
                    xp => xp.Key.Equals(ModelServiceExtensionPropertyName, StringComparison.OrdinalIgnoreCase));
                if (modelServiceExtensionProperty == null)
                {
                    throw new ModelServiceException(
                              $"{ModelServiceName} is not registered; no extension property called '{ModelServiceExtensionPropertyName}' found on Content Service Capability.");
                }
                uri = modelServiceExtensionProperty.Value ?? string.Empty;
            }
            uri = uri.TrimEnd('/') + '/';
            Uri baseUri;

            if (!Uri.TryCreate(uri, UriKind.Absolute, out baseUri))
            {
                throw new ModelServiceException($"{ModelServiceName} is using an invalid uri '{uri}'.");
            }
            Logger.Debug($"{ModelServiceName} found at URL '{baseUri}'.");
            return(baseUri);
        }
Example #2
0
        private static Uri GetModelServiceUri()
        {
            IDiscoveryService        discoveryService = DiscoveryServiceProvider.Instance.ServiceClient;
            ContentServiceCapability contentService   = discoveryService.CreateQuery <ContentServiceCapability>().Take(1).FirstOrDefault();

            if (contentService == null)
            {
                throw new DxaException("Content Service Capability not found in Discovery Service.");
            }
            ContentKeyValuePair modelServiceExtensionProperty = contentService.ExtensionProperties
                                                                .FirstOrDefault(xp => xp.Key.Equals(ModelServiceExtensionPropertyName, StringComparison.OrdinalIgnoreCase));

            if (modelServiceExtensionProperty == null)
            {
                throw new DxaException($"{ModelServiceName} is not registered; no extension property called '{ModelServiceExtensionPropertyName}' found on Content Service Capability.");
            }
            return(new Uri(modelServiceExtensionProperty.Value));
        }