mbstring no longer required for Ratchet
This commit is contained in:
parent
f8a9eb56b5
commit
6d55e18dec
@ -12,6 +12,7 @@ CHANGELOG
|
||||
|
||||
* Ratchet passes every non-binary message AB test
|
||||
* Ratchet now relies on all stable dependancies
|
||||
* mbstring no longer required (but recommended if compliance is important to you)
|
||||
|
||||
* 0.1.4 (2012-06-17)
|
||||
|
||||
|
@ -26,9 +26,11 @@
|
||||
}
|
||||
, "require": {
|
||||
"php": ">=5.3.2"
|
||||
, "ext-mbstring": "*"
|
||||
, "react/socket": "0.1.*"
|
||||
, "guzzle/guzzle": "2.5.*"
|
||||
, "symfony/http-foundation": "2.1.*"
|
||||
, "react/socket": "0.1.*"
|
||||
}
|
||||
, "require-dev": {
|
||||
"react/socket": "0.1.*"
|
||||
}
|
||||
}
|
||||
|
12
composer.lock
generated
12
composer.lock
generated
@ -1,5 +1,5 @@
|
||||
{
|
||||
"hash": "66c73c46e4da8a18fdedf5ec2a9e5da5",
|
||||
"hash": "c2963a15ac8c0b7ffee78188dff24cd1",
|
||||
"packages": [
|
||||
{
|
||||
"package": "evenement/evenement",
|
||||
@ -23,12 +23,6 @@
|
||||
"package": "react/stream",
|
||||
"version": "v0.1.0"
|
||||
},
|
||||
{
|
||||
"package": "symfony/event-dispatcher",
|
||||
"version": "dev-master",
|
||||
"alias-pretty-version": "2.1.x-dev",
|
||||
"alias-version": "2.1.9999999.9999999-dev"
|
||||
},
|
||||
{
|
||||
"package": "symfony/event-dispatcher",
|
||||
"version": "dev-master",
|
||||
@ -44,8 +38,8 @@
|
||||
{
|
||||
"package": "symfony/http-foundation",
|
||||
"version": "dev-master",
|
||||
"source-reference": "1a450955d5c487d85a7aaae4d8e306316c2a2f79",
|
||||
"commit-date": "1341951444"
|
||||
"source-reference": "3399f6f068cd41f1b42140699db1f1e6d3bcb361",
|
||||
"commit-date": "1342107786"
|
||||
}
|
||||
],
|
||||
"packages-dev": null,
|
||||
|
@ -53,9 +53,17 @@ class RFC6455 implements VersionInterface {
|
||||
*/
|
||||
private $closeCodes = array();
|
||||
|
||||
/**
|
||||
* Lookup if mbstring is available
|
||||
* @var bool
|
||||
*/
|
||||
private $hasMbString = false;
|
||||
|
||||
public function __construct() {
|
||||
$this->_verifier = new HandshakeVerifier;
|
||||
$this->setCloseCodes();
|
||||
|
||||
$this->hasMbString = extension_loaded('mbstring');
|
||||
}
|
||||
|
||||
/**
|
||||
@ -292,7 +300,7 @@ class RFC6455 implements VersionInterface {
|
||||
* @return bool
|
||||
*/
|
||||
function isUtf8($str) {
|
||||
if (false === mb_check_encoding($str, 'UTF-8')) {
|
||||
if ($this->hasMbString && false === mb_check_encoding($str, 'UTF-8')) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -231,7 +231,7 @@ class Frame implements FrameInterface {
|
||||
throw new \InvalidArgumentException("Masking key must be " . static::MASK_LENGTH ." characters");
|
||||
}
|
||||
|
||||
if (!mb_check_encoding($maskingKey, 'US-ASCII')) {
|
||||
if (extension_loaded('mbstring') && true !== mb_check_encoding($maskingKey, 'US-ASCII')) {
|
||||
throw new \InvalidArgumentException("Masking key MUST be ASCII");
|
||||
}
|
||||
|
||||
|
@ -59,6 +59,10 @@ class HandshakeVerifier {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!extension_loaded('mbstring')) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return mb_check_encoding($val, 'US-ASCII');
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user