Switch to Reactor Netty 2 snapshots
Update to Reactor BOM 2022.0.0-SNAPSHOT. Process package changes. Adapt to new `HttpHeaders` API. Adapt to new cookies API. See gh-29247
This commit is contained in:
committed by
rstoyanchev
parent
1b1682eacd
commit
b5adae2086
@@ -19,7 +19,7 @@ package org.springframework.web.reactive.socket.adapter;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import io.netty5.buffer.api.Buffer;
|
||||
import io.netty5.buffer.Buffer;
|
||||
import io.netty5.handler.codec.http.websocketx.BinaryWebSocketFrame;
|
||||
import io.netty5.handler.codec.http.websocketx.PingWebSocketFrame;
|
||||
import io.netty5.handler.codec.http.websocketx.PongWebSocketFrame;
|
||||
|
||||
@@ -17,6 +17,9 @@
|
||||
package org.springframework.web.reactive.socket.client;
|
||||
|
||||
import java.net.URI;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
@@ -148,18 +151,26 @@ public class ReactorNetty2WebSocketClient implements WebSocketClient {
|
||||
.next();
|
||||
}
|
||||
|
||||
private void setNettyHeaders(HttpHeaders httpHeaders, io.netty5.handler.codec.http.HttpHeaders nettyHeaders) {
|
||||
private void setNettyHeaders(HttpHeaders httpHeaders, io.netty5.handler.codec.http.headers.HttpHeaders nettyHeaders) {
|
||||
httpHeaders.forEach(nettyHeaders::set);
|
||||
}
|
||||
|
||||
private HttpHeaders toHttpHeaders(WebsocketInbound inbound) {
|
||||
HttpHeaders headers = new HttpHeaders();
|
||||
io.netty5.handler.codec.http.HttpHeaders nettyHeaders = inbound.headers();
|
||||
io.netty5.handler.codec.http.headers.HttpHeaders nettyHeaders = inbound.headers();
|
||||
nettyHeaders.forEach(entry -> {
|
||||
String name = entry.getKey();
|
||||
headers.put(name, nettyHeaders.getAll(name));
|
||||
CharSequence name = entry.getKey();
|
||||
headers.put(name.toString(), getAll(nettyHeaders.valuesIterator(name)));
|
||||
});
|
||||
return headers;
|
||||
}
|
||||
|
||||
private static List<String> getAll(Iterator<CharSequence> valuesIterator) {
|
||||
List<String> result = new ArrayList<>();
|
||||
while (valuesIterator.hasNext()) {
|
||||
result.add(valuesIterator.next().toString());
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -863,7 +863,7 @@ class WebClientIntegrationTests {
|
||||
@ParameterizedWebClientTest
|
||||
void statusHandlerSuppressedErrorSignalWithFlux(ClientHttpConnector connector) {
|
||||
|
||||
// Temporarily disabled, leads to io.netty5.buffer.api.BufferClosedException
|
||||
// Temporarily disabled, leads to io.netty5.buffer.BufferClosedException
|
||||
if (connector instanceof ReactorNetty2ClientHttpConnector) {
|
||||
return;
|
||||
}
|
||||
@@ -1188,7 +1188,7 @@ class WebClientIntegrationTests {
|
||||
|
||||
prepareResponse(response -> response
|
||||
.setHeader("Content-Type", "text/plain")
|
||||
.addHeader("Set-Cookie", "testkey1=testvalue1;")
|
||||
.addHeader("Set-Cookie", "testkey1=testvalue1") // TODO invalid ";" at the end
|
||||
.addHeader("Set-Cookie", "testkey2=testvalue2; Max-Age=42; HttpOnly; SameSite=Lax; Secure")
|
||||
.setBody("test"));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user