diff options
author | Jarno Elonen <elonen@iki.fi> | 2015-09-13 20:49:59 +0300 |
---|---|---|
committer | Jarno Elonen <elonen@iki.fi> | 2015-09-13 20:49:59 +0300 |
commit | 60b7e9249246749a16bf8bc29aa117e4201eae8b (patch) | |
tree | 35c559493a5ec0e92846c51e048f683fdd5c4057 /websocket | |
parent | 9f38ca21e99986290bf65a8fec17d2592d98d744 (diff) | |
parent | f3b51b6d9e8b24f2f2e021465b0f5972ad12892d (diff) | |
download | nanohttpd-60b7e9249246749a16bf8bc29aa117e4201eae8b.tar.gz |
Merge branch 'master' into static-new-xx
Diffstat (limited to 'websocket')
-rw-r--r-- | websocket/pom.xml | 3 | ||||
-rw-r--r-- | websocket/src/main/java/fi/iki/elonen/NanoWebSocketServer.java | 12 | ||||
-rw-r--r-- | websocket/src/test/java/fi/iki/elonen/samples/echo/EchoWebSocketsTest.java | 12 |
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(); + } } |