Create a noop controller for impatient clients

This commit is contained in:
Chris Boden 2017-10-09 13:18:18 -04:00
parent e3e223066c
commit a83a4e460a
2 changed files with 26 additions and 3 deletions

View File

@ -0,0 +1,18 @@
<?php
namespace Ratchet\Http;
use Ratchet\ConnectionInterface;
use Psr\Http\Message\RequestInterface;
class NoOpHttpServerController implements HttpServerInterface {
public function onOpen(ConnectionInterface $conn, RequestInterface $request = null) {
}
public function onMessage(ConnectionInterface $from, $msg) {
}
public function onClose(ConnectionInterface $conn) {
}
public function onError(ConnectionInterface $conn, \Exception $e) {
}
}

View File

@ -15,8 +15,11 @@ class Router implements HttpServerInterface {
*/
protected $_matcher;
private $_noopController;
public function __construct(UrlMatcherInterface $matcher) {
$this->_matcher = $matcher;
$this->_noopController = new NoOpHttpServerController;
}
/**
@ -28,6 +31,8 @@ class Router implements HttpServerInterface {
throw new \UnexpectedValueException('$request can not be null');
}
$conn->controller = $this->_noopController;
$uri = $request->getUri();
$context = $this->_matcher->getContext();
@ -67,14 +72,14 @@ class Router implements HttpServerInterface {
/**
* {@inheritdoc}
*/
function onMessage(ConnectionInterface $from, $msg) {
public function onMessage(ConnectionInterface $from, $msg) {
$from->controller->onMessage($from, $msg);
}
/**
* {@inheritdoc}
*/
function onClose(ConnectionInterface $conn) {
public function onClose(ConnectionInterface $conn) {
if (isset($conn->controller)) {
$conn->controller->onClose($conn);
}
@ -83,7 +88,7 @@ class Router implements HttpServerInterface {
/**
* {@inheritdoc}
*/
function onError(ConnectionInterface $conn, \Exception $e) {
public function onError(ConnectionInterface $conn, \Exception $e) {
if (isset($conn->controller)) {
$conn->controller->onError($conn, $e);
}