diff options
author | ritchie <ritchie@gmx.at> | 2015-09-13 06:22:54 +0200 |
---|---|---|
committer | ritchie <ritchie@gmx.at> | 2015-09-13 06:22:54 +0200 |
commit | ffabe5fa1bbf87cffbfbaaa3ed255fa23d273535 (patch) | |
tree | 58aa705a1bb56a8ca4a6c7d82fba65898ba8953e /websocket/src | |
parent | cebdea5194b468d09fa78f69c4b234c9a7acb080 (diff) | |
download | nanohttpd-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.java | 12 | ||||
-rw-r--r-- | websocket/src/test/java/fi/iki/elonen/samples/echo/EchoWebSocketsTest.java | 12 |
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(); + } } |