Expose ServerCodecConfigurer as a bean

With this commit, ServerCodecConfigurer is now exposed as a bean in
order to be provided to DefaultServerWebExchange via
WebHttpHandlerBuilder and HttpWebHandlerAdapter. This allows
DefaultServerWebExchange to get configured codecs for reading form or
multipart requests.

Issue: SPR-14546
This commit is contained in:
Sebastien Deleuze
2017-04-28 11:36:50 +02:00
parent a712c19661
commit 8e272bc5b0
9 changed files with 93 additions and 29 deletions

View File

@@ -15,6 +15,7 @@
*/
package org.springframework.mock.http.server.reactive.test;
import org.springframework.http.codec.ServerCodecConfigurer;
import org.springframework.web.server.ServerWebExchangeDecorator;
import org.springframework.web.server.adapter.DefaultServerWebExchange;
import org.springframework.web.server.session.DefaultWebSessionManager;
@@ -35,7 +36,7 @@ public class MockServerWebExchange extends ServerWebExchangeDecorator {
public MockServerWebExchange(MockServerHttpRequest request) {
super(new DefaultServerWebExchange(
request, new MockServerHttpResponse(), new DefaultWebSessionManager()));
request, new MockServerHttpResponse(), new DefaultWebSessionManager(), ServerCodecConfigurer.create()));
}

View File

@@ -26,6 +26,7 @@ import java.util.List;
import org.junit.Before;
import org.junit.Test;
import org.springframework.http.codec.ServerCodecConfigurer;
import org.springframework.mock.http.server.reactive.test.MockServerHttpRequest;
import org.springframework.mock.http.server.reactive.test.MockServerHttpResponse;
import org.springframework.web.server.ServerWebExchange;
@@ -59,7 +60,7 @@ public class DefaultWebSessionManagerTests {
MockServerHttpRequest request = MockServerHttpRequest.get("/path").build();
MockServerHttpResponse response = new MockServerHttpResponse();
this.exchange = new DefaultServerWebExchange(request, response, this.manager);
this.exchange = new DefaultServerWebExchange(request, response, this.manager, ServerCodecConfigurer.create());
}