aboutsummaryrefslogtreecommitdiff
path: root/websocket
diff options
context:
space:
mode:
authorJarno Elonen <elonen@iki.fi>2015-09-13 20:49:59 +0300
committerJarno Elonen <elonen@iki.fi>2015-09-13 20:49:59 +0300
commit60b7e9249246749a16bf8bc29aa117e4201eae8b (patch)
tree35c559493a5ec0e92846c51e048f683fdd5c4057 /websocket
parent9f38ca21e99986290bf65a8fec17d2592d98d744 (diff)
parentf3b51b6d9e8b24f2f2e021465b0f5972ad12892d (diff)
downloadnanohttpd-60b7e9249246749a16bf8bc29aa117e4201eae8b.tar.gz
Merge branch 'master' into static-new-xx
Diffstat (limited to 'websocket')
-rw-r--r--websocket/pom.xml3
-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
3 files changed, 17 insertions, 10 deletions
diff --git a/websocket/pom.xml b/websocket/pom.xml
index 55d2fde..4cb99a1 100644
--- a/websocket/pom.xml
+++ b/websocket/pom.xml
@@ -62,4 +62,7 @@
<scope>test</scope>
</dependency>
</dependencies>
+ <properties>
+ <minimal.coverage>0.67</minimal.coverage>
+ </properties>
</project>
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();
+ }
}