From 5ac7955de9c99ba4811cbc770426f884a2eb7b63 Mon Sep 17 00:00:00 2001 From: Rossen Stoyanchev Date: Mon, 15 May 2017 15:52:50 -0400 Subject: [PATCH] More qualified "request-id" header in WebTestClient Issue: SPR-15501 --- .../reactive/server/ExchangeMutatingWebFilter.java | 2 +- .../test/web/reactive/server/WiretapConnector.java | 11 +++++------ .../http/ReactiveHttpOutputMessage.java | 1 + .../web/server/adapter/WebHttpHandlerBuilder.java | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/spring-test/src/main/java/org/springframework/test/web/reactive/server/ExchangeMutatingWebFilter.java b/spring-test/src/main/java/org/springframework/test/web/reactive/server/ExchangeMutatingWebFilter.java index 87395d1f6e..a1e6e8a448 100644 --- a/spring-test/src/main/java/org/springframework/test/web/reactive/server/ExchangeMutatingWebFilter.java +++ b/spring-test/src/main/java/org/springframework/test/web/reactive/server/ExchangeMutatingWebFilter.java @@ -74,7 +74,7 @@ class ExchangeMutatingWebFilter implements WebFilter { } private Function getMutatorFor(ServerWebExchange exchange) { - String id = WiretapConnector.getRequestId(exchange.getRequest().getHeaders()); + String id = WiretapConnector.getRequestIdHeader(exchange.getRequest().getHeaders()); Function mutator = this.perRequestMutators.remove(id); return mutator != null ? mutator : NO_OP_MUTATOR; } diff --git a/spring-test/src/main/java/org/springframework/test/web/reactive/server/WiretapConnector.java b/spring-test/src/main/java/org/springframework/test/web/reactive/server/WiretapConnector.java index 1e47d4ffb1..6ce1a1cefa 100644 --- a/spring-test/src/main/java/org/springframework/test/web/reactive/server/WiretapConnector.java +++ b/spring-test/src/main/java/org/springframework/test/web/reactive/server/WiretapConnector.java @@ -42,7 +42,7 @@ import org.springframework.util.Assert; */ class WiretapConnector implements ClientHttpConnector { - public static final String REQUEST_ID_HEADER_NAME = "request-id"; + public static final String REQUEST_ID_HEADER_NAME = "webtestclient-request-id"; private final ClientHttpConnector delegate; @@ -69,8 +69,7 @@ class WiretapConnector implements ClientHttpConnector { }) .map(response -> { WiretapClientHttpRequest wrappedRequest = requestRef.get(); - String requestId = getRequestId(wrappedRequest.getHeaders()); - Assert.notNull(requestId, "No request-id header"); + String requestId = getRequestIdHeader(wrappedRequest.getHeaders()); WiretapClientHttpResponse wrappedResponse = new WiretapClientHttpResponse(response); ExchangeResult result = new ExchangeResult(wrappedRequest, wrappedResponse); this.exchanges.put(requestId, result); @@ -78,9 +77,9 @@ class WiretapConnector implements ClientHttpConnector { }); } - public static String getRequestId(HttpHeaders headers) { + public static String getRequestIdHeader(HttpHeaders headers) { String requestId = headers.getFirst(REQUEST_ID_HEADER_NAME); - Assert.notNull(requestId, "No request-id header"); + Assert.notNull(requestId, "No \"" + REQUEST_ID_HEADER_NAME + "\" header"); return requestId; } @@ -89,7 +88,7 @@ class WiretapConnector implements ClientHttpConnector { */ public ExchangeResult claimRequest(String requestId) { ExchangeResult result = this.exchanges.get(requestId); - Assert.notNull(result, "No match for request with id [" + requestId + "]"); + Assert.notNull(result, "No match for request with header " + REQUEST_ID_HEADER_NAME + "=" + requestId); return result; } diff --git a/spring-web/src/main/java/org/springframework/http/ReactiveHttpOutputMessage.java b/spring-web/src/main/java/org/springframework/http/ReactiveHttpOutputMessage.java index 0520faa635..3a83764aa6 100644 --- a/spring-web/src/main/java/org/springframework/http/ReactiveHttpOutputMessage.java +++ b/spring-web/src/main/java/org/springframework/http/ReactiveHttpOutputMessage.java @@ -60,6 +60,7 @@ public interface ReactiveHttpOutputMessage extends HttpMessage { * @param body the body content publisher * @return a {@link Mono} that indicates completion or error */ + Mono writeWith(Publisher body); /** diff --git a/spring-web/src/main/java/org/springframework/web/server/adapter/WebHttpHandlerBuilder.java b/spring-web/src/main/java/org/springframework/web/server/adapter/WebHttpHandlerBuilder.java index 38a27fa4f5..492739ae9e 100644 --- a/spring-web/src/main/java/org/springframework/web/server/adapter/WebHttpHandlerBuilder.java +++ b/spring-web/src/main/java/org/springframework/web/server/adapter/WebHttpHandlerBuilder.java @@ -151,7 +151,7 @@ public class WebHttpHandlerBuilder { /** * Add the given filter(s). * @param filters the filter(s) to add - */ +that's */ public WebHttpHandlerBuilder filter(WebFilter... filters) { if (!ObjectUtils.isEmpty(filters)) { this.filters.addAll(Arrays.asList(filters));