public void start(Config config) { ApplicationState appState = new ApplicationState(ApplicationConfig.fromConfig(proxyConfig, config)); Stream<ProxyRouteConfig> proxyRouteConfigs = Arrays.stream(routeConfig.split(",")).map(it -> new ProxyRouteConfig(config.getConfig(it))); ProxyClientFactory clientFactory = new ProxyClientFactory(appState); RouteStates routeStates = new RouteStates(proxyRouteConfigs, appState, clientFactory); application = new ApplicationBootstrap(appState.config()) .addServer( "main", bs -> bs.addToPipeline( new SmartHttpPipeline() { @Override public ChannelHandler getApplicationRouter() { return new PipelineRouter(routeStates.routeMap()) { @Override protected void channelRead0(ChannelHandlerContext ctx, Request msg) { super.channelRead0(ctx, msg); if (msg.endOfMessage()) { requestCount.incrementAndGet(); } } }; } })) .build(); }
@Test public void testBuilderFallbackValues() { ProxyRouteConfig fallbackObject = new ProxyRouteConfig(ConfigFactory.load().getConfig("xio.proxyRouteTemplate")); ProxyRouteConfig subject = ProxyRouteConfig.newBuilder(fallbackObject).build(); assertNotNull(subject); } }
public ProxyRouteConfig build() { return new ProxyRouteConfig( valueOrFallback(methods, fallbackObject.methods()), valueOrFallback(host, fallbackObject.host()), valueOrFallback(path, fallbackObject.path()), valueOrFallback(permissionNeeded, fallbackObject.permissionNeeded()), valueOrFallback(clientConfigs, fallbackObject.clientConfigs()), valueOrFallback(proxyHostPolicy, fallbackObject.proxyHostPolicy()), valueOrFallback(proxyHost, fallbackObject.proxyHost()), valueOrFallback(proxyPath, fallbackObject.proxyPath())); }
new ProxyRouteConfig(ConfigFactory.load().getConfig("xio.testProxyRoute")); ApplicationConfig appConfig = ApplicationConfig.fromConfig("xio.testApplication", root); ClientFactory factory =
@Test public void testBuilderCustomValues() { ProxyRouteConfig fallbackObject = new ProxyRouteConfig(ConfigFactory.load().getConfig("xio.proxyRouteTemplate")); List<HttpMethod> expectedMethods = Lists.newArrayList(HttpMethod.CONNECT); String expectedHost = "host";