More qualified "request-id" header in WebTestClient

Issue: SPR-15501
This commit is contained in:
Rossen Stoyanchev 2017-05-15 15:52:50 -04:00
parent 7f616c216b
commit 5ac7955de9
4 changed files with 8 additions and 8 deletions

View File

@ -74,7 +74,7 @@ class ExchangeMutatingWebFilter implements WebFilter {
}
private Function<ServerWebExchange, ServerWebExchange> getMutatorFor(ServerWebExchange exchange) {
String id = WiretapConnector.getRequestId(exchange.getRequest().getHeaders());
String id = WiretapConnector.getRequestIdHeader(exchange.getRequest().getHeaders());
Function<ServerWebExchange, ServerWebExchange> mutator = this.perRequestMutators.remove(id);
return mutator != null ? mutator : NO_OP_MUTATOR;
}

View File

@ -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;
}

View File

@ -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<Void> writeWith(Publisher<? extends DataBuffer> body);
/**

View File

@ -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));