[WebSocket] Only select one sub-protocol, fixes #103

This commit is contained in:
Chris Boden 2013-07-20 12:38:23 -04:00
parent 9a50835637
commit 5676161277
2 changed files with 8 additions and 11 deletions

View File

@ -199,19 +199,15 @@ class WsServer implements HttpServerInterface {
* @return string
*/
protected function getSubProtocolString(\Traversable $requested = null) {
if (null === $requested) {
return '';
}
$result = array();
if (null !== $requested) {
foreach ($requested as $sub) {
if ($this->isSubProtocolSupported($sub)) {
$result[] = $sub;
return $sub;
}
}
}
return implode(',', $result);
return '';
}
/**

View File

@ -27,10 +27,11 @@ class WsServerTest extends \PHPUnit_Framework_TestCase {
public function protocolProvider() {
return array(
array('hello,world', array('hello', 'world'), array('hello', 'world'))
array('hello', array('hello', 'world'), array('hello', 'world'))
, array('', array('hello', 'world'), array('wamp'))
, array('', array(), null)
, array('wamp', array('hello', 'wamp', 'world'), array('herp', 'derp', 'wamp'))
, array('wamp', array('wamp'), array('wamp'))
);
}