protected HypermediaLocationFormatter( IRouteResolverFactory routeResolverFactory, IRouteKeyFactory routeKeyFactory, IHypermediaUrlConfig defaultHypermediaUrlConfig) : base(routeResolverFactory, routeKeyFactory, defaultHypermediaUrlConfig) { }
protected HypermediaOutputFormatter( IRouteResolverFactory routeResolverFactory, IRouteKeyFactory routeKeyFactory, IHypermediaUrlConfig defaultHypermediaUrlConfig = null) { RouteResolverFactory = routeResolverFactory; RouteKeyFactory = routeKeyFactory; DefaultHypermediaUrlConfig = defaultHypermediaUrlConfig ?? new HypermediaUrlConfig(); }
public HypermediaQueryLocationFormatter( IRouteResolverFactory routeResolverFactory, IRouteKeyFactory routeKeyFactory, IQueryStringBuilder queryStringBuilder, IHypermediaUrlConfig defaultHypermediaUrlConfig) : base(routeResolverFactory, routeKeyFactory, defaultHypermediaUrlConfig) { this.queryStringBuilder = queryStringBuilder; }
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; }
public SirenHypermediaFormatter( IRouteResolverFactory routeResolverFactory, IRouteKeyFactory routeKeyFactory, ISirenHypermediaConverterFactory sirenHypermediaConverterFactory, IHypermediaUrlConfig defaultHypermediaUrlConfig) : base(routeResolverFactory, routeKeyFactory, defaultHypermediaUrlConfig) { this.sirenHypermediaConverterFactory = sirenHypermediaConverterFactory; }
/// <summary> /// Adds the Hypermedia Extensions. /// by default a Siren Formatters is added and /// the entry assembly is crawled for Hypermedia route attributes /// </summary> /// <param name="options">The options object of the MVC component.</param> /// <param name="alternateRouteRegister">If you wish to use another RoutRegister pass it here, also if you wish another assembly to be crawled.</param> /// <param name="alternateQueryStringBuilder">Provide an alternate QueryStringBuilder used for building URL's.</param> /// <param name="hypermediaUrlConfig">Configures the URL used in Hypermedia responses.</param> /// <param name="hypermediaConverterConfiguration">Configures the creation of Hypermedia documents.</param> public static void AddHypermediaExtensions( this MvcOptions options, IRouteRegister alternateRouteRegister = null, IQueryStringBuilder alternateQueryStringBuilder = null, IHypermediaUrlConfig hypermediaUrlConfig = null, IHypermediaConverterConfiguration hypermediaConverterConfiguration = null) { var routeRegister = alternateRouteRegister ?? new AttributedRoutesRegister(); var routeResolverFactory = new RegisterRouteResolverFactory(routeRegister); var routeKeyFactory = new RouteKeyFactory(routeRegister); var queryStringBuilder = alternateQueryStringBuilder ?? new QueryStringBuilder(); var hypermediaQueryLocationFormatter = new HypermediaQueryLocationFormatter(routeResolverFactory, routeKeyFactory, queryStringBuilder, hypermediaUrlConfig); var hypermediaEntityLocationFormatter = new HypermediaEntityLocationFormatter(routeResolverFactory, routeKeyFactory, hypermediaUrlConfig); var sirenHypermediaConverterFactory = new SirenHypermediaConverterFactory(queryStringBuilder, hypermediaConverterConfiguration?.SirenConverterConfiguration); var sirenHypermediaFormatter = new SirenHypermediaFormatter(routeResolverFactory, routeKeyFactory, sirenHypermediaConverterFactory, hypermediaUrlConfig); options.OutputFormatters.Insert(0, hypermediaQueryLocationFormatter); options.OutputFormatters.Insert(0, hypermediaEntityLocationFormatter); options.OutputFormatters.Insert(0, sirenHypermediaFormatter); }
public HypermediaUrlConfig(IHypermediaUrlConfig defaultHypermediaUrlConfig, HttpRequest request) { Scheme = string.IsNullOrEmpty(defaultHypermediaUrlConfig.Scheme) ? request.Scheme : defaultHypermediaUrlConfig.Scheme; Host = defaultHypermediaUrlConfig.Host.HasValue ? defaultHypermediaUrlConfig.Host : request.Host; }
public IHypermediaRouteResolver CreateRouteResolver(IUrlHelper urlHelper, IRouteKeyFactory routeKeyFactory, IHypermediaUrlConfig hypermediaUrlConfig = null) { return(new RegisterRouteResolver(urlHelper, routeKeyFactory, routeRegister, hypermediaOptions, hypermediaUrlConfig)); }
public HypermediaEntityLocationFormatter(IRouteResolverFactory routeResolverFactory, IRouteKeyFactory routeKeyFactory, IHypermediaUrlConfig defaultHypermediaUrlConfig) : base(routeResolverFactory, routeKeyFactory, defaultHypermediaUrlConfig) { }