mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-15 08:34:30 +02:00
8181176: java/net/httpclient/websocket/ConnectionHandover.java times out
Reviewed-by: coffeys
This commit is contained in:
parent
da352d7930
commit
b98d0bda76
2 changed files with 17 additions and 14 deletions
|
@ -105,7 +105,7 @@ public final class DummyWebSocketServer implements Closeable {
|
|||
channel.configureBlocking(true);
|
||||
StringBuilder request = new StringBuilder();
|
||||
if (!readRequest(channel, request)) {
|
||||
throw new IOException("Bad request");
|
||||
throw new IOException("Bad request:" + request);
|
||||
}
|
||||
List<String> strings = asList(request.toString().split("\r\n"));
|
||||
List<String> response = mapping.apply(strings);
|
||||
|
@ -156,6 +156,7 @@ public final class DummyWebSocketServer implements Closeable {
|
|||
public void close() {
|
||||
log.log(INFO, "Stopping: " + getURI());
|
||||
thread.interrupt();
|
||||
close(ssc);
|
||||
}
|
||||
|
||||
URI getURI() {
|
||||
|
@ -169,19 +170,21 @@ public final class DummyWebSocketServer implements Closeable {
|
|||
throws IOException
|
||||
{
|
||||
ByteBuffer buffer = ByteBuffer.allocate(512);
|
||||
int num = channel.read(buffer);
|
||||
if (num == -1) {
|
||||
return false;
|
||||
while (channel.read(buffer) != -1) {
|
||||
// read the complete HTTP request headers, there should be no body
|
||||
CharBuffer decoded;
|
||||
buffer.flip();
|
||||
try {
|
||||
decoded = ISO_8859_1.newDecoder().decode(buffer);
|
||||
} catch (CharacterCodingException e) {
|
||||
throw new UncheckedIOException(e);
|
||||
}
|
||||
request.append(decoded);
|
||||
if (Pattern.compile("\r\n\r\n").matcher(request).find())
|
||||
return true;
|
||||
buffer.clear();
|
||||
}
|
||||
CharBuffer decoded;
|
||||
buffer.flip();
|
||||
try {
|
||||
decoded = ISO_8859_1.newDecoder().decode(buffer);
|
||||
} catch (CharacterCodingException e) {
|
||||
throw new UncheckedIOException(e);
|
||||
}
|
||||
request.append(decoded);
|
||||
return Pattern.compile("\r\n\r\n").matcher(request).find();
|
||||
return false;
|
||||
}
|
||||
|
||||
private void writeResponse(SocketChannel channel, List<String> response)
|
||||
|
|
|
@ -32,7 +32,7 @@ public final class LoggingHelper {
|
|||
* @run main/othervm/jul=logging.properties ClassUnderTest
|
||||
*/
|
||||
public static void setupLogging() {
|
||||
String path = System.getProperty("test.src") + File.separator + "logging.properties";
|
||||
String path = System.getProperty("test.src", ".") + File.separator + "logging.properties";
|
||||
System.setProperty("java.util.logging.config.file", path);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue