diff options
Diffstat (limited to 'src/main/scala/Server/Client.scala')
-rw-r--r-- | src/main/scala/Server/Client.scala | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/main/scala/Server/Client.scala b/src/main/scala/Server/Client.scala index d4f1864..7c7a786 100644 --- a/src/main/scala/Server/Client.scala +++ b/src/main/scala/Server/Client.scala @@ -99,7 +99,12 @@ class Client(val socket: Socket): if this.incompleteMessage(nextCRLF + 1) != CRLF(1) then nextCRLF = -1 if nextCRLF != -1 then val message = this.incompleteMessage.take(nextCRLF) - val rest = this.incompleteMessage.drop(nextCRLF + 1) + val rest = this.incompleteMessage.drop(nextCRLF + 2) + assert(rest.headOption != Some(CRLF(1))) // I will compile this with + // assertions off... I'd + // like to know how to make + // tests work with this + // config... this.incompleteMessage = rest ++ Array.fill(nextCRLF + 1)(0.toByte) // TODO: the conversion may probably be exploited to crash the server Some(String(message)) |