diff --git a/src/Ratchet/Http/HttpRequestParser.php b/src/Ratchet/Http/HttpRequestParser.php index 5043c284..fa7a5caa 100644 --- a/src/Ratchet/Http/HttpRequestParser.php +++ b/src/Ratchet/Http/HttpRequestParser.php @@ -51,7 +51,7 @@ public function onMessage(ConnectionInterface $context, $data) { * @return boolean */ public function isEom($message) { - return (boolean)strpos($message, static::EOM); + return strpos($message, static::EOM) !== false; } /** diff --git a/tests/unit/Http/HttpRequestParserTest.php b/tests/unit/Http/HttpRequestParserTest.php index 05f2a76b..bbc96d59 100644 --- a/tests/unit/Http/HttpRequestParserTest.php +++ b/tests/unit/Http/HttpRequestParserTest.php @@ -50,6 +50,18 @@ public function testBufferOverflowResponse() { $this->parser->onMessage($conn, "Header-Is: Too Big"); } + public function testOnMessageThrowsExceptionForEmptyNewlines() { + $conn = $this->getMockBuilder('Ratchet\Mock\Connection')->getMock(); + + if (method_exists($this, 'expectException')) { + $this->expectException('InvalidArgumentException'); + } else { + $this->setExpectedException('InvalidArgumentException'); + } + + $this->parser->onMessage($conn, "\r\n\r\n"); + } + public function testReturnTypeIsRequest() { $conn = $this->getMockBuilder('Ratchet\Mock\Connection')->getMock(); $return = $this->parser->onMessage($conn, "GET / HTTP/1.1\r\nHost: socketo.me\r\n\r\n");