@Bean public RouteLocator myRoutes(RouteLocatorBuilder builder) { String httpUri = "http://httpbin.org:80"; return builder.routes() .route(p -> p .path("/get") .filters(f -> f.addRequestHeader("Hello", "World")) .uri(httpUri)) .route(p -> p .host("*.hystrix.com") .filters(f -> f .hystrix(config -> config .setName("mycmd") .setFallbackUri("forward:/fallback"))) .uri(httpUri)) .build(); } // end::route-locator[]
@Bean public RouteLocator testRouteLocator(RouteLocatorBuilder builder) { return builder.routes() .route("host_multi_dsl", r -> r.host("**.hostmultidsl1.org", "**.hostmultidsl2.org") .filters(f -> f.prefixPath("/httpbin")) .uri(uri)) .build(); } }
@Bean RouteLocator queryRouteLocator(RouteLocatorBuilder builder) { return builder.routes() .route("header_exists_dsl", r -> r.header("X-Foo") .filters(f -> f.prefixPath("/httpbin")) .uri(uri)) .build(); } }
@Bean public RouteLocator testRouteLocator(RouteLocatorBuilder builder) { return builder.routes() .route("relative_redirect", r -> r.host("**.relativeredirect.org") .filters(f -> f.redirect(302, "/index.html#/customers")) .uri("no://op")) .build(); } }
@Bean public RouteLocator myRouteLocator(RouteLocatorBuilder builder) { return builder.routes() .route("test_custom_http_status", r -> r.host("*.setcustomstatus.org") .filters(f -> f.setStatus(432)) .uri(uri)) .build(); } }
@Bean RouteLocator queryRouteLocator(RouteLocatorBuilder builder) { return builder.routes() .route("foo_query_param", r -> r.query("foo", "bar") .filters(f -> f.prefixPath("/httpbin")) .uri(uri)) .build(); } }
@Bean public RouteLocator testRouteLocator(RouteLocatorBuilder builder) { return builder.routes() .route("test_between_valid", r -> r.host("**.betweenvalid.org") .and().between(ZonedDateTime.now().minusDays(1), ZonedDateTime.now().plusDays(1)) .filters(f -> f.prefixPath("/httpbin")) .uri(uri)) .build(); } }
@Bean public RouteLocator wsRouteLocator(RouteLocatorBuilder builder) { return builder.routes() .route(r->r.path("/echoForHttp") .uri("lb://wsservice")) .route(r -> r.alwaysTrue() .uri("lb:ws://wsservice")) .build(); } }
@Bean public RouteLocator testRouteLocator(RouteLocatorBuilder builder) { return builder.routes().route("test_request_size", r -> r.order(-1).host("**.setrequestsize.org").filters(f -> f.setRequestSize(5000000L)).uri(uri)) .build(); } }
@Bean public RouteLocator testRouteLocator(RouteLocatorBuilder builder) { return builder.routes() .route("weight_low_test", r -> r.weight("group1", 2) .and().host("**.weightlow.org") .filters(f -> f.prefixPath("/httpbin")) .uri(this.uri)) .build(); }
@Bean public RouteLocator testRouteLocator(RouteLocatorBuilder builder) { return builder.routes() .route("path_multi_dsl", r -> r.host("**.pathmultidsl.org") .and().path(false, "/anything/multidsl1", "/anything/multidsl3") .filters(f -> f.prefixPath("/httpbin")) .uri(uri)) .build(); } }
@Bean public RouteLocator routeLocator(RouteLocatorBuilder builder) { return builder.routes().route(r -> r.cloudFoundryRouteService().and() .header("Host", "dsl.routeservice.example.com") .filters(f -> f.requestHeaderToRequestUri("X-CF-Forwarded-Url")) .uri("http://example.com")).build(); } }
@Bean public RouteLocator testRouteLocator(RouteLocatorBuilder builder) { return builder.routes().route("test_set_request_header", r -> r.order(-1) .host("**.setrequestheader.org") .filters(f -> f.prefixPath("/httpbin") .addRequestHeader("X-Req-Foo", "First") .setRequestHeader("X-Req-Foo", "Second")) .uri(uri)) .build(); } }
@Bean public RouteLocator testRouteLocator(RouteLocatorBuilder builder) { return builder.routes() .route("add_request_param_java_test", r -> r.path("/get").and().host("**.addreqparamjava.org") .filters(f -> f.prefixPath("/httpbin").addRequestParameter("example", "ValueB")) .uri(uri)) .build(); } }
@Bean public RouteLocator customRouteLocator(RouteLocatorBuilder builder) { return builder.routes() .route(r -> r.path("/myapi/**") .filters(f -> f.requestRateLimiter(c -> c.setRateLimiter(myRateLimiter())) .prefixPath("/downstream")) .uri("http://localhost:"+port)) .build(); }
@Bean public RouteLocator myRouteLocator(RouteLocatorBuilder builder) { return builder.routes() .route("test_metrics_happy_path", r -> r.host("*.metricshappypath.org") .uri(testUri)) .route("test_custom_http_status_metrics", r -> r.host("*.setcustomstatusmetrics.org") .filters(f -> f.setStatus(432)) .uri(testUri)) .build(); }
@Bean public RouteLocator testRouteLocator(RouteLocatorBuilder builder) { return builder.routes().route("test_preserve_host_header", r -> r.order(-1) .host("**.preservehostheader.org") .filters(f -> f.prefixPath("/httpbin") .preserveHostHeader() .setRequestHeader("Host", "myhost.net")) .uri(uri)) .build(); } }
@Bean public RouteLocator testRouteLocator(RouteLocatorBuilder builder) { return builder.routes().route("x_forwarded_for_test", r -> r .path("/xforwardfor").and() .remoteAddr(XForwardedRemoteAddressResolver.maxTrustedIndex(1), "12.34.56.78") .filters(f -> f.setStatus(200)).uri(uri)).build(); } }
@Bean public RouteLocator testRouteLocator(RouteLocatorBuilder builder) { return builder.routes() .route("add_request_header_java_test", r -> r.path("/headers").and().host("**.addrequestheaderjava.org") .filters(f -> f.prefixPath("/httpbin").addRequestHeader("X-Request-Acme", "ValueB")) .uri(uri)) .build(); } }
@Bean public RouteLocator routeLocator(RouteLocatorBuilder builder) { return builder.routes() .route(p -> p.path("/events").and().method(HttpMethod.POST).and(). readBody(Event.class, eventPredicate("message.channels")). filters(f -> f.setPath("/messageChannel/events")).uri("lb://messageChannel")) .route(p -> p.path("/events").and().method(HttpMethod.POST).and(). readBody(Event.class, eventPredicate("message")) .filters(f -> f.setPath("/message/events")).uri("lb://message")) .build(); }