public ActionParameterSchemas(ApplicationModel applicationModel, HypermediaExtensionsOptions hypermediaOptions)
        {
            var actionParameterTypes = applicationModel.ActionParameterTypes.Values.Select(_ => _.Type);

            schemaByTypeName = actionParameterTypes.ToImmutableDictionary(
                t => t.BeautifulName(),
                t => JsonSchemaFactory.Generate(t).GetAwaiter().GetResult(),
                hypermediaOptions.CaseSensitiveParameterMatching ? StringComparer.Ordinal : StringComparer.OrdinalIgnoreCase
                );
        }
Exemplo n.º 2
0
        public AttributedRoutesRegister(HypermediaExtensionsOptions hypermediaOptions, ILogger <AttributedRoutesRegister> logger)
        {
            this.logger = logger;
            var assembliesToCrawl = hypermediaOptions.ControllerAndHypermediaAssemblies.Length > 0
                ? hypermediaOptions.ControllerAndHypermediaAssemblies
                : Assembly.GetEntryAssembly().Yield();

            foreach (var assemblyToCrawl in assembliesToCrawl)
            {
                RegisterAssemblyRoutes(assemblyToCrawl);
            }
        }
Exemplo n.º 3
0
 public RegisterRouteResolverFactory(IRouteRegister routeRegister, HypermediaExtensionsOptions hypermediaOptions)
 {
     this.routeRegister     = routeRegister;
     this.hypermediaOptions = hypermediaOptions;
 }
 public RegisterRouteResolver(IUrlHelper urlHelper, IRouteKeyFactory routeKeyFactory, IRouteRegister routeRegister, HypermediaExtensionsOptions hypermediaOptions, IHypermediaUrlConfig hypermediaUrlConfig = null)
 {
     this.RouteRegister                    = routeRegister;
     this.urlHelper                        = urlHelper;
     this.hypermediaUrlConfig              = hypermediaUrlConfig ?? new HypermediaUrlConfig();
     this.routeKeyFactory                  = routeKeyFactory;
     this.returnDefaultRouteForUnknownHto  = hypermediaOptions.ReturnDefaultRouteForUnknownHto;
     this.defaultRouteSegmentForUnknownHto = hypermediaOptions.DefaultRouteSegmentForUnknownHto;
 }
Exemplo n.º 5
0
 public SirenHypermediaConverterFactory(IQueryStringBuilder queryStringBuilder, HypermediaExtensionsOptions hypermediaExtensionsOptions)
 {
     this.queryStringBuilder          = queryStringBuilder;
     this.hypermediaExtensionsOptions = hypermediaExtensionsOptions;
 }