コード例 #1
0
        public HypermediaServiceTests()
        {
            mockUrlHelperBuilder = new Mock <IUrlHelperBuilder>();
            SetupUrlHelperBuilder();

            mockBaseUrlProvider = new Mock <IBaseUrlProvider>();
            mockBaseUrlProvider
            .Setup(x => x.Provide())
            .Returns(new Uri(TestBaseUrl, UriKind.Absolute));

            mockUrlPathProvider = new Mock <IUrlPathProvider>();
            mockUrlPathProvider
            .Setup(x => x.Provide(It.Is <LinkRequest>(x => x.GetRouteName() == TestRouteName)))
            .Returns(new Uri(TestRouteUrl, UriKind.RelativeOrAbsolute));

            mockLinkDataEnricher = new Mock <ILinkDataEnricher>();
            mockLinkFactory      = new Mock <ILinkFactory>();

            sut = new HypermediaService(
                mockUrlHelperBuilder.Object,
                mockBaseUrlProvider.Object,
                mockUrlPathProvider.Object,
                new List <ILinkDataEnricher> {
                mockLinkDataEnricher.Object
            },
                mockLinkFactory.Object);
        }
コード例 #2
0
        public override Links Invoke(string baseUrl)
        {
            if (_mgmtOption != null)
            {
                HypermediaService hypermediaService = new HypermediaService(_mgmtOption, options, _logger);
                return(hypermediaService.Invoke(baseUrl));
            }

            // TODO: The below code will be removed in 3.0
            else
            {
                var endpointOptions = Options.Global.EndpointOptions;
                var links           = new Links();

                if (!Options.Enabled.Value)
                {
                    return(links);
                }

                foreach (var opt in endpointOptions)
                {
                    if (!opt.Enabled.Value)
                    {
                        continue;
                    }

                    if (opt == Options)
                    {
                        links._links.Add("self", new Link(baseUrl));
                    }
                    else
                    {
                        if (!string.IsNullOrEmpty(opt.Id) && !links._links.ContainsKey(opt.Id))
                        {
                            links._links.Add(opt.Id, new Link(baseUrl + "/" + opt.Id));
                        }
                        else if (links._links.ContainsKey(opt.Id))
                        {
                            _logger?.LogWarning("Duplicate endpoint id detected: {DuplicateEndpointId}", opt.Id);
                        }
                    }
                }

                return(links);
            }
        }
コード例 #3
0
 public SetController(IMemoryCache cache, HypermediaService hypermediaService, IWorkoutRepository workoutRepository)
 {
     _cache             = cache;
     _hypermediaService = hypermediaService;
     _workoutRepository = workoutRepository;
 }
コード例 #4
0
 public RoutineController(IMemoryCache cache, HypermediaService hypermediaService, RoutineFactory routineFactory)
 {
     _cache             = cache;
     _hypermediaService = hypermediaService;
     _routineFactory    = routineFactory;
 }
コード例 #5
0
        public override Links Invoke(string baseUrl)
        {
            var hypermediaService = new HypermediaService(_mgmtOption, options, _logger);

            return(hypermediaService.Invoke(baseUrl));
        }