aboutsummaryrefslogtreecommitdiff
path: root/websocket/src
diff options
context:
space:
mode:
authorritchie <ritchie@gmx.at>2015-09-13 06:22:54 +0200
committerritchie <ritchie@gmx.at>2015-09-13 06:22:54 +0200
commitffabe5fa1bbf87cffbfbaaa3ed255fa23d273535 (patch)
tree58aa705a1bb56a8ca4a6c7d82fba65898ba8953e /websocket/src
parentcebdea5194b468d09fa78f69c4b234c9a7acb080 (diff)
downloadnanohttpd-ffabe5fa1bbf87cffbfbaaa3ed255fa23d273535.tar.gz
file upload refactorings and set minimal coverage per module #219 #216
Diffstat (limited to 'websocket/src')
-rw-r--r--websocket/src/main/java/fi/iki/elonen/NanoWebSocketServer.java12
-rw-r--r--websocket/src/test/java/fi/iki/elonen/samples/echo/EchoWebSocketsTest.java12
2 files changed, 14 insertions, 10 deletions
diff --git a/websocket/src/main/java/fi/iki/elonen/NanoWebSocketServer.java b/websocket/src/main/java/fi/iki/elonen/NanoWebSocketServer.java
index e23abe2..73e5f67 100644
--- a/websocket/src/main/java/fi/iki/elonen/NanoWebSocketServer.java
+++ b/websocket/src/main/java/fi/iki/elonen/NanoWebSocketServer.java
@@ -96,13 +96,13 @@ public abstract class NanoWebSocketServer extends NanoHTTPD {
this.handshakeResponse.addHeader(NanoWebSocketServer.HEADER_CONNECTION, NanoWebSocketServer.HEADER_CONNECTION_VALUE);
}
- public void close(CloseCode code, String reason) throws IOException {
+ public void close(CloseCode code, String reason, boolean initiatedByRemote) throws IOException {
State oldState = this.state;
this.state = State.CLOSING;
if (oldState == State.OPEN) {
sendFrame(new CloseFrame(code, reason));
} else {
- doClose(code, reason, false);
+ doClose(code, reason, initiatedByRemote);
}
}
@@ -149,13 +149,7 @@ public abstract class NanoWebSocketServer extends NanoHTTPD {
// Answer for my requested close
doClose(code, reason, false);
} else {
- // Answer close request from other endpoint and close self
- State oldState = this.state;
- this.state = State.CLOSING;
- if (oldState == State.OPEN) {
- sendFrame(new CloseFrame(code, reason));
- }
- doClose(code, reason, true);
+ close(code, reason, true);
}
}
diff --git a/websocket/src/test/java/fi/iki/elonen/samples/echo/EchoWebSocketsTest.java b/websocket/src/test/java/fi/iki/elonen/samples/echo/EchoWebSocketsTest.java
index 6061023..e90ae71 100644
--- a/websocket/src/test/java/fi/iki/elonen/samples/echo/EchoWebSocketsTest.java
+++ b/websocket/src/test/java/fi/iki/elonen/samples/echo/EchoWebSocketsTest.java
@@ -68,6 +68,8 @@ public class EchoWebSocketsTest {
SimpleEchoSocket socket = new SimpleEchoSocket();
socket.getToSendMessages().add("Hello");
socket.getToSendMessages().add("Thanks for the conversation.");
+ socket.getToSendMessages().add(createString(31000));
+ socket.getToSendMessages().add(createString(65400));
try {
client.start();
URI echoUri = new URI(destUri);
@@ -84,9 +86,17 @@ public class EchoWebSocketsTest {
e.printStackTrace();
}
}
- Assert.assertEquals(2, socket.getReceivedMessages().size());
+ Assert.assertEquals(4, socket.getReceivedMessages().size());
Assert.assertEquals("Hello", socket.getReceivedMessages().get(0));
Assert.assertEquals("Thanks for the conversation.", socket.getReceivedMessages().get(1));
}
+
+ private String createString(int i) {
+ StringBuilder builder = new StringBuilder();
+ while (builder.length() < i) {
+ builder.append("A very long text.");
+ }
+ return builder.toString();
+ }
}