Browse Source

Rename GatewayPredicate to PredicateFactory

Rename GatewayFilterDefinition to FilterFactory
pull/41/head
Spencer Gibb 8 years ago
parent
commit
2835fb2a45
No known key found for this signature in database
GPG Key ID: 7788A47380690861
  1. 58
      src/main/java/org/springframework/cloud/gateway/config/GatewayAutoConfiguration.java
  2. 6
      src/main/java/org/springframework/cloud/gateway/filter/factory/AddRequestHeaderFilterFactory.java
  3. 7
      src/main/java/org/springframework/cloud/gateway/filter/factory/AddResponseHeaderFilterFactory.java
  4. 4
      src/main/java/org/springframework/cloud/gateway/filter/factory/FilterFactory.java
  5. 10
      src/main/java/org/springframework/cloud/gateway/handler/GatewayFilteringWebHandler.java
  6. 16
      src/main/java/org/springframework/cloud/gateway/handler/GatewayPredicateHandlerMapping.java
  7. 2
      src/main/java/org/springframework/cloud/gateway/handler/predicate/CookiePredicateFactory.java
  8. 2
      src/main/java/org/springframework/cloud/gateway/handler/predicate/HeaderPredicateFactory.java
  9. 2
      src/main/java/org/springframework/cloud/gateway/handler/predicate/HostPredicateFactory.java
  10. 2
      src/main/java/org/springframework/cloud/gateway/handler/predicate/MethodPredicateFactory.java
  11. 2
      src/main/java/org/springframework/cloud/gateway/handler/predicate/PredicateFactory.java
  12. 2
      src/main/java/org/springframework/cloud/gateway/handler/predicate/QueryPredicateFactory.java
  13. 2
      src/main/java/org/springframework/cloud/gateway/handler/predicate/UrlPredicateFactory.java
  14. 136
      src/test/java/org/springframework/cloud/gateway/test/GatewayIntegrationTests.java
  15. 5
      src/test/resources/application.yml

58
src/main/java/org/springframework/cloud/gateway/config/GatewayAutoConfiguration.java

@ -9,20 +9,20 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties @@ -9,20 +9,20 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties
import org.springframework.cloud.gateway.actuate.GatewayEndpoint;
import org.springframework.cloud.gateway.api.RouteReader;
import org.springframework.cloud.gateway.filter.GatewayFilter;
import org.springframework.cloud.gateway.filter.definition.AppendRequestHeaderFilter;
import org.springframework.cloud.gateway.filter.definition.AppendResponseHeaderFilter;
import org.springframework.cloud.gateway.filter.definition.GatewayFilterDefinition;
import org.springframework.cloud.gateway.filter.factory.AddRequestHeaderFilterFactory;
import org.springframework.cloud.gateway.filter.factory.AddResponseHeaderFilterFactory;
import org.springframework.cloud.gateway.filter.factory.FilterFactory;
import org.springframework.cloud.gateway.filter.RouteToRequestUrlFilter;
import org.springframework.cloud.gateway.handler.GatewayFilteringWebHandler;
import org.springframework.cloud.gateway.handler.GatewayPredicateHandlerMapping;
import org.springframework.cloud.gateway.handler.GatewayWebHandler;
import org.springframework.cloud.gateway.handler.predicate.CookiePredicate;
import org.springframework.cloud.gateway.handler.predicate.GatewayPredicate;
import org.springframework.cloud.gateway.handler.predicate.HeaderPredicate;
import org.springframework.cloud.gateway.handler.predicate.HostPredicate;
import org.springframework.cloud.gateway.handler.predicate.MethodPredicate;
import org.springframework.cloud.gateway.handler.predicate.QueryPredicate;
import org.springframework.cloud.gateway.handler.predicate.UrlPredicate;
import org.springframework.cloud.gateway.handler.predicate.CookiePredicateFactory;
import org.springframework.cloud.gateway.handler.predicate.HostPredicateFactory;
import org.springframework.cloud.gateway.handler.predicate.MethodPredicateFactory;
import org.springframework.cloud.gateway.handler.predicate.PredicateFactory;
import org.springframework.cloud.gateway.handler.predicate.HeaderPredicateFactory;
import org.springframework.cloud.gateway.handler.predicate.QueryPredicateFactory;
import org.springframework.cloud.gateway.handler.predicate.UrlPredicateFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.client.reactive.ReactorClientHttpConnector;
@ -65,7 +65,7 @@ public class GatewayAutoConfiguration { @@ -65,7 +65,7 @@ public class GatewayAutoConfiguration {
@Bean
public GatewayFilteringWebHandler gatewayFilteringWebHandler(GatewayWebHandler gatewayWebHandler,
List<GatewayFilter> filters,
List<GatewayFilterDefinition> filterDefinitions) {
List<FilterFactory> filterDefinitions) {
return new GatewayFilteringWebHandler(gatewayWebHandler, filters, filterDefinitions);
}
@ -73,51 +73,51 @@ public class GatewayAutoConfiguration { @@ -73,51 +73,51 @@ public class GatewayAutoConfiguration {
@Bean
public GatewayPredicateHandlerMapping gatewayPredicateHandlerMapping(GatewayFilteringWebHandler webHandler,
List<GatewayPredicate> predicates,
List<PredicateFactory> predicates,
RouteReader routeReader) {
return new GatewayPredicateHandlerMapping(webHandler, predicates, routeReader);
}
@Bean
public CookiePredicate cookiePredicate() {
return new CookiePredicate();
public CookiePredicateFactory cookiePredicateFactory() {
return new CookiePredicateFactory();
}
@Bean
public HeaderPredicate headerPredicate() {
return new HeaderPredicate();
public HeaderPredicateFactory headerPredicateFactory() {
return new HeaderPredicateFactory();
}
@Bean
public HostPredicate hostPredicate() {
return new HostPredicate();
public HostPredicateFactory hostPredicateFactory() {
return new HostPredicateFactory();
}
@Bean
public MethodPredicate methodPredicate() {
return new MethodPredicate();
public MethodPredicateFactory methodPredicateFactory() {
return new MethodPredicateFactory();
}
@Bean
public QueryPredicate queryPredicate() {
return new QueryPredicate();
public QueryPredicateFactory queryPredicateFactory() {
return new QueryPredicateFactory();
}
@Bean
public UrlPredicate urlPredicate() {
return new UrlPredicate();
public UrlPredicateFactory urlPredicateFactory() {
return new UrlPredicateFactory();
}
// Filter beans
// Filter Factory beans
@Bean
public AppendRequestHeaderFilter appendRequestHeaderFilter() {
return new AppendRequestHeaderFilter();
public AddRequestHeaderFilterFactory addRequestHeaderFilterFactory() {
return new AddRequestHeaderFilterFactory();
}
@Bean
public AppendResponseHeaderFilter appendResponseHeaderFilter() {
return new AppendResponseHeaderFilter();
public AddResponseHeaderFilterFactory addResponseHeaderFilterFactory() {
return new AddResponseHeaderFilterFactory();
}
@Configuration

6
src/main/java/org/springframework/cloud/gateway/filter/definition/AppendRequestHeaderFilter.java → src/main/java/org/springframework/cloud/gateway/filter/factory/AddRequestHeaderFilterFactory.java

@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
package org.springframework.cloud.gateway.filter.definition;
package org.springframework.cloud.gateway.filter.factory;
import org.springframework.cloud.gateway.filter.GatewayFilter;
import org.springframework.http.server.reactive.ServerHttpRequest;
@ -7,11 +7,11 @@ import org.springframework.util.Assert; @@ -7,11 +7,11 @@ import org.springframework.util.Assert;
/**
* @author Spencer Gibb
*/
public class AppendRequestHeaderFilter implements GatewayFilterDefinition {
public class AddRequestHeaderFilterFactory implements FilterFactory {
@Override
public String getName() {
return "AppendRequestHeader";
return "AddRequestHeader";
}
@Override

7
src/main/java/org/springframework/cloud/gateway/filter/definition/AppendResponseHeaderFilter.java → src/main/java/org/springframework/cloud/gateway/filter/factory/AddResponseHeaderFilterFactory.java

@ -1,17 +1,16 @@ @@ -1,17 +1,16 @@
package org.springframework.cloud.gateway.filter.definition;
package org.springframework.cloud.gateway.filter.factory;
import org.springframework.cloud.gateway.filter.GatewayFilter;
import org.springframework.http.server.reactive.ServerHttpRequest;
import org.springframework.util.Assert;
/**
* @author Spencer Gibb
*/
public class AppendResponseHeaderFilter implements GatewayFilterDefinition {
public class AddResponseHeaderFilterFactory implements FilterFactory {
@Override
public String getName() {
return "AppendResponseHeader";
return "AddResponseHeader";
}
@Override

4
src/main/java/org/springframework/cloud/gateway/filter/definition/GatewayFilterDefinition.java → src/main/java/org/springframework/cloud/gateway/filter/factory/FilterFactory.java

@ -1,11 +1,11 @@ @@ -1,11 +1,11 @@
package org.springframework.cloud.gateway.filter.definition;
package org.springframework.cloud.gateway.filter.factory;
import org.springframework.cloud.gateway.filter.GatewayFilter;
/**
* @author Spencer Gibb
*/
public interface GatewayFilterDefinition {
public interface FilterFactory {
String getName();

10
src/main/java/org/springframework/cloud/gateway/handler/GatewayFilteringWebHandler.java

@ -30,7 +30,7 @@ import org.apache.commons.logging.Log; @@ -30,7 +30,7 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.cloud.gateway.config.Route;
import org.springframework.cloud.gateway.filter.GatewayFilter;
import org.springframework.cloud.gateway.filter.definition.GatewayFilterDefinition;
import org.springframework.cloud.gateway.filter.factory.FilterFactory;
import org.springframework.web.server.ServerWebExchange;
import org.springframework.web.server.WebFilterChain;
import org.springframework.web.server.WebHandler;
@ -52,10 +52,10 @@ public class GatewayFilteringWebHandler extends WebHandlerDecorator { @@ -52,10 +52,10 @@ public class GatewayFilteringWebHandler extends WebHandlerDecorator {
protected final Log logger = LogFactory.getLog(getClass());
private final List<GatewayFilter> filters;
private final Map<String, GatewayFilterDefinition> filterDefinitions = new HashMap<>();
private final Map<String, FilterFactory> filterDefinitions = new HashMap<>();
public GatewayFilteringWebHandler(WebHandler targetHandler, List<GatewayFilter> filters,
List<GatewayFilterDefinition> filterDefinitions) {
List<FilterFactory> filterDefinitions) {
super(targetHandler);
this.filters = initList(filters);
initList(filterDefinitions).forEach(def -> this.filterDefinitions.put(def.getName(), def));
@ -86,9 +86,9 @@ public class GatewayFilteringWebHandler extends WebHandlerDecorator { @@ -86,9 +86,9 @@ public class GatewayFilteringWebHandler extends WebHandlerDecorator {
private Collection<GatewayFilter> loadFilters(Route route) {
return route.getFilters().stream()
.map(definition -> {
GatewayFilterDefinition filter = this.filterDefinitions.get(definition.getName());
FilterFactory filter = this.filterDefinitions.get(definition.getName());
if (filter == null) {
throw new IllegalArgumentException("Unable to find GatewayFilterDefinition with name " + definition.getName());
throw new IllegalArgumentException("Unable to find FilterFactory with name " + definition.getName());
}
if (logger.isDebugEnabled()) {
List<String> args;

16
src/main/java/org/springframework/cloud/gateway/handler/GatewayPredicateHandlerMapping.java

@ -11,7 +11,7 @@ import org.springframework.beans.BeansException; @@ -11,7 +11,7 @@ import org.springframework.beans.BeansException;
import org.springframework.cloud.gateway.api.RouteReader;
import org.springframework.cloud.gateway.config.Route;
import org.springframework.cloud.gateway.config.PredicateDefinition;
import org.springframework.cloud.gateway.handler.predicate.GatewayPredicate;
import org.springframework.cloud.gateway.handler.predicate.PredicateFactory;
import org.springframework.web.reactive.handler.AbstractHandlerMapping;
import org.springframework.web.server.ServerWebExchange;
import org.springframework.web.server.WebHandler;
@ -26,26 +26,26 @@ import static org.springframework.cloud.gateway.filter.GatewayFilter.GATEWAY_ROU @@ -26,26 +26,26 @@ import static org.springframework.cloud.gateway.filter.GatewayFilter.GATEWAY_ROU
*/
public class GatewayPredicateHandlerMapping extends AbstractHandlerMapping {
private Map<String, GatewayPredicate> predicates = new LinkedHashMap<>();
private Map<String, PredicateFactory> predicates = new LinkedHashMap<>();
private RouteReader routeReader;
private WebHandler webHandler;
private List<Route> routes;
public GatewayPredicateHandlerMapping(WebHandler webHandler, List<GatewayPredicate> predicates,
public GatewayPredicateHandlerMapping(WebHandler webHandler, List<PredicateFactory> predicates,
RouteReader routeReader) {
this.webHandler = webHandler;
this.routeReader = routeReader;
for (GatewayPredicate factory : predicates) {
for (PredicateFactory factory : predicates) {
if (this.predicates.containsKey(factory.getName())) {
this.logger.warn("A GatewayPredicate named "+ factory.getName()
this.logger.warn("A PredicateFactory named "+ factory.getName()
+ " already exists, class: " + this.predicates.get(factory.getName())
+ ". It will be overwritten.");
}
this.predicates.put(factory.getName(), factory);
if (logger.isInfoEnabled()) {
logger.info("Loaded GatewayPredicate [" + factory.getName() + "]");
logger.info("Loaded PredicateFactory [" + factory.getName() + "]");
}
}
@ -135,9 +135,9 @@ public class GatewayPredicateHandlerMapping extends AbstractHandlerMapping { @@ -135,9 +135,9 @@ public class GatewayPredicateHandlerMapping extends AbstractHandlerMapping {
}
private Predicate<ServerWebExchange> lookup(Route route, PredicateDefinition predicate) {
GatewayPredicate found = this.predicates.get(predicate.getName());
PredicateFactory found = this.predicates.get(predicate.getName());
if (found == null) {
throw new IllegalArgumentException("Unable to find GatewayPredicate with name " + predicate.getName());
throw new IllegalArgumentException("Unable to find PredicateFactory with name " + predicate.getName());
}
if (logger.isDebugEnabled()) {
List<String> args;

2
src/main/java/org/springframework/cloud/gateway/handler/predicate/CookiePredicate.java → src/main/java/org/springframework/cloud/gateway/handler/predicate/CookiePredicateFactory.java

@ -10,7 +10,7 @@ import org.springframework.web.server.ServerWebExchange; @@ -10,7 +10,7 @@ import org.springframework.web.server.ServerWebExchange;
/**
* @author Spencer Gibb
*/
public class CookiePredicate implements GatewayPredicate {
public class CookiePredicateFactory implements PredicateFactory {
@Override
public String getName() {

2
src/main/java/org/springframework/cloud/gateway/handler/predicate/HeaderPredicate.java → src/main/java/org/springframework/cloud/gateway/handler/predicate/HeaderPredicateFactory.java

@ -9,7 +9,7 @@ import org.springframework.web.server.ServerWebExchange; @@ -9,7 +9,7 @@ import org.springframework.web.server.ServerWebExchange;
/**
* @author Spencer Gibb
*/
public class HeaderPredicate implements GatewayPredicate {
public class HeaderPredicateFactory implements PredicateFactory {
@Override
public String getName() {

2
src/main/java/org/springframework/cloud/gateway/handler/predicate/HostPredicate.java → src/main/java/org/springframework/cloud/gateway/handler/predicate/HostPredicateFactory.java

@ -9,7 +9,7 @@ import org.springframework.web.server.ServerWebExchange; @@ -9,7 +9,7 @@ import org.springframework.web.server.ServerWebExchange;
/**
* @author Spencer Gibb
*/
public class HostPredicate implements GatewayPredicate {
public class HostPredicateFactory implements PredicateFactory {
private PathMatcher pathMatcher = new AntPathMatcher(".");

2
src/main/java/org/springframework/cloud/gateway/handler/predicate/MethodPredicate.java → src/main/java/org/springframework/cloud/gateway/handler/predicate/MethodPredicateFactory.java

@ -8,7 +8,7 @@ import org.springframework.web.server.ServerWebExchange; @@ -8,7 +8,7 @@ import org.springframework.web.server.ServerWebExchange;
/**
* @author Spencer Gibb
*/
public class MethodPredicate implements GatewayPredicate {
public class MethodPredicateFactory implements PredicateFactory {
@Override
public String getName() {

2
src/main/java/org/springframework/cloud/gateway/handler/predicate/GatewayPredicate.java → src/main/java/org/springframework/cloud/gateway/handler/predicate/PredicateFactory.java

@ -7,7 +7,7 @@ import org.springframework.web.server.ServerWebExchange; @@ -7,7 +7,7 @@ import org.springframework.web.server.ServerWebExchange;
/**
* @author Spencer Gibb
*/
public interface GatewayPredicate {
public interface PredicateFactory {
String getName();

2
src/main/java/org/springframework/cloud/gateway/handler/predicate/QueryPredicate.java → src/main/java/org/springframework/cloud/gateway/handler/predicate/QueryPredicateFactory.java

@ -8,7 +8,7 @@ import org.springframework.web.server.ServerWebExchange; @@ -8,7 +8,7 @@ import org.springframework.web.server.ServerWebExchange;
/**
* @author Spencer Gibb
*/
public class QueryPredicate implements GatewayPredicate {
public class QueryPredicateFactory implements PredicateFactory {
@Override
public String getName() {

2
src/main/java/org/springframework/cloud/gateway/handler/predicate/UrlPredicate.java → src/main/java/org/springframework/cloud/gateway/handler/predicate/UrlPredicateFactory.java

@ -10,7 +10,7 @@ import org.springframework.web.server.support.HttpRequestPathHelper; @@ -10,7 +10,7 @@ import org.springframework.web.server.support.HttpRequestPathHelper;
/**
* @author Spencer Gibb
*/
public class UrlPredicate implements GatewayPredicate {
public class UrlPredicateFactory implements PredicateFactory {
private PathMatcher pathMatcher = new AntPathMatcher();
private HttpRequestPathHelper pathHelper = new HttpRequestPathHelper();

136
src/test/java/org/springframework/cloud/gateway/test/GatewayIntegrationTests.java

@ -59,40 +59,50 @@ public class GatewayIntegrationTests { @@ -59,40 +59,50 @@ public class GatewayIntegrationTests {
AssertionError error = null;
}
@Test
public void urlRouteWorks() {
Mono<ClientResponse> result = webClient.exchange(
GET("http://localhost:" + port + "/get").build()
);
final Result testResult = new Result();
@FunctionalInterface
interface ResultVerifier {
void verify();
}
IntStream.range(0, 3).forEach(i -> {
private void verify(ResultVerifier verifier) {
Result result = new Result();
IntStream.range(0, 3).forEach( i -> {
try {
StepVerifier.create(result)
.consumeNextWith(
response -> {
HttpHeaders httpHeaders = response.headers().asHttpHeaders();
HttpStatus statusCode = response.statusCode();
assertThat(httpHeaders.getFirst(HANDLER_MAPPER_HEADER))
.isEqualTo(GatewayPredicateHandlerMapping.class.getSimpleName());
assertThat(httpHeaders.getFirst(ROUTE_ID_HEADER))
.isEqualTo("default_path_to_httpbin");
assertThat(statusCode).isEqualTo(HttpStatus.OK);
})
.expectComplete()
.verify(Duration.ofSeconds(3));
testResult.passedOnce = true;
verifier.verify();
result.passedOnce = true;
} catch (AssertionError e) {
testResult.error = e;
result.error = e;
}
});
if (!testResult.passedOnce && testResult.error != null) {
throw testResult.error;
if (!result.passedOnce && result.error != null) {
throw result.error;
}
}
@Test
public void urlRouteWorks() {
Mono<ClientResponse> result = webClient.exchange(
GET("http://localhost:" + port + "/get").build()
);
verify( () ->
StepVerifier.create(result)
.consumeNextWith(
response -> {
HttpHeaders httpHeaders = response.headers().asHttpHeaders();
HttpStatus statusCode = response.statusCode();
assertThat(httpHeaders.getFirst(HANDLER_MAPPER_HEADER))
.isEqualTo(GatewayPredicateHandlerMapping.class.getSimpleName());
assertThat(httpHeaders.getFirst(ROUTE_ID_HEADER))
.isEqualTo("default_path_to_httpbin");
assertThat(statusCode).isEqualTo(HttpStatus.OK);
})
.expectComplete()
.verify(Duration.ofSeconds(3))
);
}
@Test
public void hostRouteWorks() {
Mono<ClientResponse> result = webClient.exchange(
@ -101,38 +111,42 @@ public class GatewayIntegrationTests { @@ -101,38 +111,42 @@ public class GatewayIntegrationTests {
.build()
);
StepVerifier.create(result)
.consumeNextWith(
response -> {
HttpHeaders httpHeaders = response.headers().asHttpHeaders();
HttpStatus statusCode = response.statusCode();
assertThat(httpHeaders.getFirst(HANDLER_MAPPER_HEADER))
.isEqualTo(GatewayPredicateHandlerMapping.class.getSimpleName());
assertThat(httpHeaders.getFirst(ROUTE_ID_HEADER))
.isEqualTo("host_example_to_httpbin");
assertThat(statusCode).isEqualTo(HttpStatus.OK);
})
.expectComplete()
.verify(Duration.ofSeconds(3));
verify( () ->
StepVerifier.create(result)
.consumeNextWith(
response -> {
HttpHeaders httpHeaders = response.headers().asHttpHeaders();
HttpStatus statusCode = response.statusCode();
assertThat(httpHeaders.getFirst(HANDLER_MAPPER_HEADER))
.isEqualTo(GatewayPredicateHandlerMapping.class.getSimpleName());
assertThat(httpHeaders.getFirst(ROUTE_ID_HEADER))
.isEqualTo("host_example_to_httpbin");
assertThat(statusCode).isEqualTo(HttpStatus.OK);
})
.expectComplete()
.verify(Duration.ofSeconds(3))
);
}
@Test
public void appendRequestHeaderFilterWorks() {
public void addRequestHeaderFilterWorks() {
Mono<Map> result = webClient.exchange(
GET("http://localhost:" + port + "/headers")
.header("Host", "www.bar.org")
.build()
).then(response -> response.body(toMono(Map.class)));
StepVerifier.create(result)
.consumeNextWith(
response -> {
assertThat(response).containsKey("headers").isInstanceOf(Map.class);
Map<String, Object> headers = (Map<String, Object>) response.get("headers");
assertThat(headers).containsEntry("X-Request-Foo", "Bar");
})
.expectComplete()
.verify(Duration.ofSeconds(3));
verify( () ->
StepVerifier.create(result)
.consumeNextWith(
response -> {
assertThat(response).containsKey("headers").isInstanceOf(Map.class);
Map<String, Object> headers = (Map<String, Object>) response.get("headers");
assertThat(headers).containsEntry("X-Request-Foo", "Bar");
})
.expectComplete()
.verify(Duration.ofSeconds(3))
);
}
@Test
@ -143,23 +157,13 @@ public class GatewayIntegrationTests { @@ -143,23 +157,13 @@ public class GatewayIntegrationTests {
Mono<Map> result = webClient.exchange(request)
.then(response -> response.body(toMono(Map.class)));
final Result testResult = new Result();
IntStream.range(0, 3).forEach(i -> {
try {
StepVerifier.create(result)
.consumeNextWith(map -> assertThat(map).containsEntry("data", "testdata"))
.expectComplete()
.verify(Duration.ofSeconds(3));
testResult.passedOnce = true;
} catch (AssertionError e) {
testResult.error = e;
}
});
if (!testResult.passedOnce && testResult.error != null) {
throw testResult.error;
}
verify( () ->
StepVerifier.create(result)
.consumeNextWith(map -> assertThat(map).containsEntry("data", "testdata"))
.expectComplete()
.verify(Duration.ofSeconds(3))
);
}
@Test
@ -172,6 +176,7 @@ public class GatewayIntegrationTests { @@ -172,6 +176,7 @@ public class GatewayIntegrationTests {
.build()
);
verify( () ->
StepVerifier.create(result)
.consumeNextWith(
response -> {
@ -186,7 +191,8 @@ public class GatewayIntegrationTests { @@ -186,7 +191,8 @@ public class GatewayIntegrationTests {
assertThat(statusCode).isEqualTo(HttpStatus.OK);
})
.expectComplete()
.verify();
.verify()
);
}
@EnableAutoConfiguration

5
src/test/resources/application.yml

@ -18,8 +18,7 @@ spring: @@ -18,8 +18,7 @@ spring:
- Query=baz
- Cookie=chocolate, ch.p
filters:
- AppendRequestHeader=X-Request-Foo, Bar
- AppendResponseHeader=X-Response-Foo, Bar
- AddResponseHeader=X-Response-Foo, Bar
# =====================================
- id: host_bar_path_headers_to_httpbin
@ -28,7 +27,7 @@ spring: @@ -28,7 +27,7 @@ spring:
- Host=**.bar.org
- Url=/headers
filters:
- AppendRequestHeader=X-Request-Foo, Bar
- AddRequestHeader=X-Request-Foo, Bar
# =====================================
- id: default_path_to_httpbin

Loading…
Cancel
Save