Renamed some classes, less depth
This commit is contained in:
parent
71f10cb9ee
commit
60ce5e00ff
@ -1,8 +1,8 @@
|
|||||||
<?php
|
<?php
|
||||||
namespace Ratchet\RFC6455\Messaging\Protocol;
|
namespace Ratchet\RFC6455\Messaging;
|
||||||
|
|
||||||
class CloseFrameChecker {
|
class CloseFrameChecker {
|
||||||
private $validCloseFrames = [];
|
private $validCloseCodes = [];
|
||||||
|
|
||||||
public function __construct() {
|
public function __construct() {
|
||||||
$this->validCloseCodes = [
|
$this->validCloseCodes = [
|
@ -1,5 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
namespace Ratchet\RFC6455\Messaging\Protocol;
|
namespace Ratchet\RFC6455\Messaging;
|
||||||
|
|
||||||
interface DataInterface {
|
interface DataInterface {
|
||||||
/**
|
/**
|
@ -1,5 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
namespace Ratchet\RFC6455\Messaging\Protocol;
|
namespace Ratchet\RFC6455\Messaging;
|
||||||
|
|
||||||
class Frame implements FrameInterface {
|
class Frame implements FrameInterface {
|
||||||
const OP_CONTINUE = 0;
|
const OP_CONTINUE = 0;
|
@ -1,5 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
namespace Ratchet\RFC6455\Messaging\Protocol;
|
namespace Ratchet\RFC6455\Messaging;
|
||||||
|
|
||||||
interface FrameInterface extends DataInterface {
|
interface FrameInterface extends DataInterface {
|
||||||
/**
|
/**
|
@ -1,5 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
namespace Ratchet\RFC6455\Messaging\Protocol;
|
namespace Ratchet\RFC6455\Messaging;
|
||||||
|
|
||||||
class Message implements \IteratorAggregate, MessageInterface {
|
class Message implements \IteratorAggregate, MessageInterface {
|
||||||
/**
|
/**
|
@ -1,14 +1,9 @@
|
|||||||
<?php
|
<?php
|
||||||
namespace Ratchet\RFC6455\Messaging\Streaming;
|
namespace Ratchet\RFC6455\Messaging;
|
||||||
use Ratchet\RFC6455\Messaging\Protocol\CloseFrameChecker;
|
|
||||||
use Ratchet\RFC6455\Messaging\Protocol\MessageInterface;
|
|
||||||
use Ratchet\RFC6455\Messaging\Protocol\FrameInterface;
|
|
||||||
use Ratchet\RFC6455\Messaging\Protocol\Message;
|
|
||||||
use Ratchet\RFC6455\Messaging\Protocol\Frame;
|
|
||||||
|
|
||||||
class MessageStreamer {
|
class MessageBuffer {
|
||||||
/**
|
/**
|
||||||
* @var \Ratchet\RFC6455\Messaging\Protocol\CloseFrameChecker
|
* @var \Ratchet\RFC6455\Messaging\CloseFrameChecker
|
||||||
*/
|
*/
|
||||||
private $closeFrameChecker;
|
private $closeFrameChecker;
|
||||||
|
|
||||||
@ -18,12 +13,12 @@ class MessageStreamer {
|
|||||||
private $exceptionFactory;
|
private $exceptionFactory;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var \Ratchet\RFC6455\Messaging\Protocol\Message
|
* @var \Ratchet\RFC6455\Messaging\Message
|
||||||
*/
|
*/
|
||||||
private $messageBuffer;
|
private $messageBuffer;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var \Ratchet\RFC6455\Messaging\Protocol\Frame
|
* @var \Ratchet\RFC6455\Messaging\Frame
|
||||||
*/
|
*/
|
||||||
private $frameBuffer;
|
private $frameBuffer;
|
||||||
|
|
||||||
@ -113,8 +108,8 @@ class MessageStreamer {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Check a frame to be added to the current message buffer
|
* Check a frame to be added to the current message buffer
|
||||||
* @param \Ratchet\RFC6455\Messaging\Protocol\FrameInterface|FrameInterface $frame
|
* @param \Ratchet\RFC6455\Messaging\FrameInterface|FrameInterface $frame
|
||||||
* @return \Ratchet\RFC6455\Messaging\Protocol\FrameInterface|FrameInterface
|
* @return \Ratchet\RFC6455\Messaging\FrameInterface|FrameInterface
|
||||||
*/
|
*/
|
||||||
public function frameCheck(FrameInterface $frame) {
|
public function frameCheck(FrameInterface $frame) {
|
||||||
if (false !== $frame->getRsv1() ||
|
if (false !== $frame->getRsv1() ||
|
||||||
@ -188,7 +183,7 @@ class MessageStreamer {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Determine if a message is valid
|
* Determine if a message is valid
|
||||||
* @param \Ratchet\RFC6455\Messaging\Protocol\MessageInterface
|
* @param \Ratchet\RFC6455\Messaging\MessageInterface
|
||||||
* @return bool|int true if valid - false if incomplete - int of recommended close code
|
* @return bool|int true if valid - false if incomplete - int of recommended close code
|
||||||
*/
|
*/
|
||||||
public function checkMessage(MessageInterface $message) {
|
public function checkMessage(MessageInterface $message) {
|
||||||
@ -210,7 +205,7 @@ class MessageStreamer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return \Ratchet\RFC6455\Messaging\Protocol\MessageInterface
|
* @return \Ratchet\RFC6455\Messaging\MessageInterface
|
||||||
*/
|
*/
|
||||||
public function newMessage() {
|
public function newMessage() {
|
||||||
return new Message;
|
return new Message;
|
||||||
@ -220,7 +215,7 @@ class MessageStreamer {
|
|||||||
* @param string|null $payload
|
* @param string|null $payload
|
||||||
* @param bool|null $final
|
* @param bool|null $final
|
||||||
* @param int|null $opcode
|
* @param int|null $opcode
|
||||||
* @return \Ratchet\RFC6455\Messaging\Protocol\FrameInterface
|
* @return \Ratchet\RFC6455\Messaging\FrameInterface
|
||||||
*/
|
*/
|
||||||
public function newFrame($payload = null, $final = null, $opcode = null) {
|
public function newFrame($payload = null, $final = null, $opcode = null) {
|
||||||
return new Frame($payload, $final, $opcode, $this->exceptionFactory);
|
return new Frame($payload, $final, $opcode, $this->exceptionFactory);
|
@ -1,5 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
namespace Ratchet\RFC6455\Messaging\Protocol;
|
namespace Ratchet\RFC6455\Messaging;
|
||||||
|
|
||||||
interface MessageInterface extends DataInterface, \Traversable, \Countable {
|
interface MessageInterface extends DataInterface, \Traversable, \Countable {
|
||||||
/**
|
/**
|
@ -1,7 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
use GuzzleHttp\Psr7\Uri;
|
use GuzzleHttp\Psr7\Uri;
|
||||||
use React\Promise\Deferred;
|
use React\Promise\Deferred;
|
||||||
use Ratchet\RFC6455\Messaging\Protocol\Frame;
|
use Ratchet\RFC6455\Messaging\Frame;
|
||||||
|
|
||||||
require __DIR__ . '/../bootstrap.php';
|
require __DIR__ . '/../bootstrap.php';
|
||||||
|
|
||||||
@ -18,16 +18,16 @@ $factory = new \React\SocketClient\Connector($loop, $dnsResolver);
|
|||||||
|
|
||||||
function echoStreamerFactory($conn)
|
function echoStreamerFactory($conn)
|
||||||
{
|
{
|
||||||
return new \Ratchet\RFC6455\Messaging\Streaming\MessageStreamer(
|
return new \Ratchet\RFC6455\Messaging\MessageBuffer(
|
||||||
new \Ratchet\RFC6455\Messaging\Protocol\CloseFrameChecker,
|
new \Ratchet\RFC6455\Messaging\CloseFrameChecker,
|
||||||
function (\Ratchet\RFC6455\Messaging\Protocol\MessageInterface $msg) use ($conn) {
|
function (\Ratchet\RFC6455\Messaging\MessageInterface $msg) use ($conn) {
|
||||||
/** @var Frame $frame */
|
/** @var Frame $frame */
|
||||||
foreach ($msg as $frame) {
|
foreach ($msg as $frame) {
|
||||||
$frame->maskPayload();
|
$frame->maskPayload();
|
||||||
}
|
}
|
||||||
$conn->write($msg->getContents());
|
$conn->write($msg->getContents());
|
||||||
},
|
},
|
||||||
function (\Ratchet\RFC6455\Messaging\Protocol\FrameInterface $frame) use ($conn) {
|
function (\Ratchet\RFC6455\Messaging\FrameInterface $frame) use ($conn) {
|
||||||
switch ($frame->getOpcode()) {
|
switch ($frame->getOpcode()) {
|
||||||
case Frame::OP_PING:
|
case Frame::OP_PING:
|
||||||
return $conn->write((new Frame($frame->getPayload(), true, Frame::OP_PONG))->maskPayload()->getContents());
|
return $conn->write((new Frame($frame->getPayload(), true, Frame::OP_PONG))->maskPayload()->getContents());
|
||||||
@ -54,7 +54,7 @@ function getTestCases() {
|
|||||||
$rawResponse = "";
|
$rawResponse = "";
|
||||||
$response = null;
|
$response = null;
|
||||||
|
|
||||||
/** @var \Ratchet\RFC6455\Messaging\Streaming\MessageStreamer $ms */
|
/** @var \Ratchet\RFC6455\Messaging\Streaming\MessageBuffer $ms */
|
||||||
$ms = null;
|
$ms = null;
|
||||||
|
|
||||||
$stream->on('data', function ($data) use ($stream, &$rawResponse, &$response, &$ms, $cn, $deferred, &$context, $cnRequest) {
|
$stream->on('data', function ($data) use ($stream, &$rawResponse, &$response, &$ms, $cn, $deferred, &$context, $cnRequest) {
|
||||||
@ -70,9 +70,9 @@ function getTestCases() {
|
|||||||
$stream->end();
|
$stream->end();
|
||||||
$deferred->reject();
|
$deferred->reject();
|
||||||
} else {
|
} else {
|
||||||
$ms = new \Ratchet\RFC6455\Messaging\Streaming\MessageStreamer(
|
$ms = new \Ratchet\RFC6455\Messaging\MessageBuffer(
|
||||||
new \Ratchet\RFC6455\Messaging\Protocol\CloseFrameChecker,
|
new \Ratchet\RFC6455\Messaging\CloseFrameChecker,
|
||||||
function (\Ratchet\RFC6455\Messaging\Protocol\MessageInterface $msg) use ($deferred, $stream) {
|
function (\Ratchet\RFC6455\Messaging\MessageInterface $msg) use ($deferred, $stream) {
|
||||||
$deferred->resolve($msg->getPayload());
|
$deferred->resolve($msg->getPayload());
|
||||||
$stream->close();
|
$stream->close();
|
||||||
},
|
},
|
||||||
@ -161,7 +161,7 @@ function createReport() {
|
|||||||
$rawResponse = "";
|
$rawResponse = "";
|
||||||
$response = null;
|
$response = null;
|
||||||
|
|
||||||
/** @var \Ratchet\RFC6455\Messaging\Streaming\MessageStreamer $ms */
|
/** @var \Ratchet\RFC6455\Messaging\Streaming\MessageBuffer $ms */
|
||||||
$ms = null;
|
$ms = null;
|
||||||
|
|
||||||
$stream->on('data', function ($data) use ($stream, &$rawResponse, &$response, &$ms, $cn, $deferred, &$context, $cnRequest) {
|
$stream->on('data', function ($data) use ($stream, &$rawResponse, &$response, &$ms, $cn, $deferred, &$context, $cnRequest) {
|
||||||
@ -177,9 +177,9 @@ function createReport() {
|
|||||||
$stream->end();
|
$stream->end();
|
||||||
$deferred->reject();
|
$deferred->reject();
|
||||||
} else {
|
} else {
|
||||||
$ms = new \Ratchet\RFC6455\Messaging\Streaming\MessageStreamer(
|
$ms = new \Ratchet\RFC6455\Messaging\MessageBuffer(
|
||||||
new \Ratchet\RFC6455\Messaging\Protocol\CloseFrameChecker,
|
new \Ratchet\RFC6455\Messaging\CloseFrameChecker,
|
||||||
function (\Ratchet\RFC6455\Messaging\Protocol\MessageInterface $msg) use ($deferred, $stream) {
|
function (\Ratchet\RFC6455\Messaging\MessageInterface $msg) use ($deferred, $stream) {
|
||||||
$deferred->resolve($msg->getPayload());
|
$deferred->resolve($msg->getPayload());
|
||||||
$stream->close();
|
$stream->close();
|
||||||
},
|
},
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
use Ratchet\RFC6455\Messaging\Protocol\MessageInterface;
|
use Ratchet\RFC6455\Messaging\MessageInterface;
|
||||||
use Ratchet\RFC6455\Messaging\Protocol\FrameInterface;
|
use Ratchet\RFC6455\Messaging\FrameInterface;
|
||||||
use Ratchet\RFC6455\Messaging\Protocol\Frame;
|
use Ratchet\RFC6455\Messaging\Frame;
|
||||||
|
|
||||||
require_once __DIR__ . "/../bootstrap.php";
|
require_once __DIR__ . "/../bootstrap.php";
|
||||||
|
|
||||||
@ -10,7 +10,7 @@ $loop = \React\EventLoop\Factory::create();
|
|||||||
$socket = new \React\Socket\Server($loop);
|
$socket = new \React\Socket\Server($loop);
|
||||||
$server = new \React\Http\Server($socket);
|
$server = new \React\Http\Server($socket);
|
||||||
|
|
||||||
$closeFrameChecker = new \Ratchet\RFC6455\Messaging\Protocol\CloseFrameChecker;
|
$closeFrameChecker = new \Ratchet\RFC6455\Messaging\CloseFrameChecker;
|
||||||
$negotiator = new \Ratchet\RFC6455\Handshake\Negotiator;
|
$negotiator = new \Ratchet\RFC6455\Handshake\Negotiator;
|
||||||
|
|
||||||
$uException = new \UnderflowException;
|
$uException = new \UnderflowException;
|
||||||
@ -33,7 +33,7 @@ $server->on('request', function (\React\Http\Request $request, \React\Http\Respo
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$parser = new \Ratchet\RFC6455\Messaging\Streaming\MessageStreamer($closeFrameChecker, function(MessageInterface $message) use ($response) {
|
$parser = new \Ratchet\RFC6455\Messaging\MessageBuffer($closeFrameChecker, function(MessageInterface $message) use ($response) {
|
||||||
$response->write($message->getContents());
|
$response->write($message->getContents());
|
||||||
}, function(FrameInterface $frame) use ($response, &$parser) {
|
}, function(FrameInterface $frame) use ($response, &$parser) {
|
||||||
switch ($frame->getOpCode()) {
|
switch ($frame->getOpCode()) {
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
<?php
|
<?php
|
||||||
namespace Ratchet\RFC6455\Test\Unit\Messaging\Protocol;
|
namespace Ratchet\RFC6455\Test\Unit\Messaging;
|
||||||
use Ratchet\RFC6455\Messaging\Protocol\Frame;
|
use Ratchet\RFC6455\Messaging\Frame;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @covers Ratchet\RFC6455\Messaging\Protocol\Frame
|
* @covers Ratchet\RFC6455\MessagingFrame
|
||||||
* @todo getMaskingKey, getPayloadStartingByte don't have tests yet
|
* @todo getMaskingKey, getPayloadStartingByte don't have tests yet
|
||||||
* @todo Could use some clean up in general, I had to rush to fix a bug for a deadline, sorry.
|
* @todo Could use some clean up in general, I had to rush to fix a bug for a deadline, sorry.
|
||||||
*/
|
*/
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
<?php
|
<?php
|
||||||
namespace Ratchet\RFC6455\Test\Unit\Messaging\Protocol;
|
namespace Ratchet\RFC6455\Test\Unit\Messaging;
|
||||||
use Ratchet\RFC6455\Messaging\Protocol\Frame;
|
use Ratchet\RFC6455\Messaging\Frame;
|
||||||
use Ratchet\RFC6455\Messaging\Protocol\Message;
|
use Ratchet\RFC6455\Messaging\Message;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @covers Ratchet\RFC6455\Messaging\Protocol\Message
|
* @covers Ratchet\RFC6455\Messaging\Message
|
||||||
*/
|
*/
|
||||||
class MessageTest extends \PHPUnit_Framework_TestCase {
|
class MessageTest extends \PHPUnit_Framework_TestCase {
|
||||||
/** @var Message */
|
/** @var Message */
|
||||||
|
Loading…
Reference in New Issue
Block a user