package com.dbg.cloud.acheron.autoconfigure.zuul; import com.dbg.cloud.acheron.routing.service.RouteService; import com.dbg.cloud.acheron.zuul.routing.AcheronDiscoveryClientRouteLocator; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.web.ServerProperties; import org.springframework.cloud.client.discovery.DiscoveryClient; import org.springframework.cloud.netflix.zuul.ZuulProxyConfiguration; import org.springframework.cloud.netflix.zuul.filters.ZuulProperties; import org.springframework.cloud.netflix.zuul.filters.discovery.DiscoveryClientRouteLocator; import org.springframework.context.annotation.Configuration; @Configuration public class AcheronZuulConfiguration extends ZuulProxyConfiguration { @Autowired private RouteService routeService; @Autowired private ServerProperties server; @SuppressWarnings("SpringJavaAutowiringInspection") @Autowired private DiscoveryClient discoveryClient; @SuppressWarnings("SpringJavaAutowiringInspection") @Autowired private ZuulProperties zuulProperties; @Override public DiscoveryClientRouteLocator routeLocator() { return new AcheronDiscoveryClientRouteLocator(server.getServletPath(), discoveryClient, zuulProperties, routeService); } }