diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
new file mode 100644
index 00000000..439755f9
--- /dev/null
+++ b/.github/workflows/ci.yml
@@ -0,0 +1,34 @@
+name: CI
+
+on:
+ push:
+ pull_request:
+ schedule:
+ - cron: '0 0 * * 0'
+
+jobs:
+ verify:
+ runs-on: ubuntu-latest
+
+ strategy:
+ matrix:
+ java: [7, 8, 11]
+
+ steps:
+ - uses: actions/checkout@v2
+ - name: Setup java
+ uses: actions/setup-java@v1
+ with:
+ java-version: ${{ matrix.java }}
+ - name: Cache Maven packages
+ uses: actions/cache@v2
+ with:
+ path: ~/.m2
+ key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
+ restore-keys: ${{ runner.os }}-m2
+ - name: Setup Node.js
+ uses: actions/setup-node@v1
+ with:
+ node-version: 14.x
+ - name: Run the Maven verify phase
+ run: mvn verify -Dgpg.skip=true
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index b940182f..00000000
--- a/.travis.yml
+++ /dev/null
@@ -1,7 +0,0 @@
-language: java
-dist: trusty
-sudo: false
-install: mvn install -DskipTests=true -Dgpg.skip=true
-jdk:
- - openjdk7
- - oraclejdk8
diff --git a/History.md b/History.md
index 60f71daf..f11dc8f8 100644
--- a/History.md
+++ b/History.md
@@ -1,4 +1,13 @@
+1.0.1 / 2020-12-10
+==================
+
+### Bug Fixes
+
+* don't process socket.connect() if we are already re-connecting ([#577](https://github.com/socketio/socket.io-client-java/issues/577)) ([54b7311](https://github.com/socketio/socket.io-client-java/commit/54b73114d19f33a78bec1ce99325893129f8a148))
+* handle case where URI.getHost() returns null ([#484](https://github.com/socketio/socket.io-client-java/issues/484)) ([567372e](https://github.com/socketio/socket.io-client-java/commit/567372ecfa6c86bdc72f8bc64985d6511dc87666))
+
+
1.0.0 / 2017-07-14
==================
diff --git a/README.md b/README.md
index 30049324..5b7af7d6 100644
--- a/README.md
+++ b/README.md
@@ -1,17 +1,36 @@
# Socket.IO-client Java
-[](https://travis-ci.org/socketio/socket.io-client-java)
-This is the Socket.IO v1.x Client Library for Java, which is simply ported from the [JavaScript client](https://github.com/socketio/socket.io-client).
+[](https://github.com/socketio/socket.io-client-java/actions)
+
+This is the Socket.IO v1.x and v2.x Client Library for Java, which is simply ported from the [JavaScript client](https://github.com/socketio/socket.io-client).
+
+**Does not yet support Socket:IO v3.x, use v2.x instead!**
See also:
- [Android chat demo](https://github.com/nkzawa/socket.io-android-chat)
- [engine.io-client-java](https://github.com/socketio/engine.io-client-java)
-## Installation
-The latest artifact is available on Maven Central. You'll also need [dependencies](http://socketio.github.io/socket.io-client-java/dependencies.html) to install.
+## Table of content
-**WARNING: The package name was changed to "io.socket" on v0.6.1 or later. Please make sure to update your dependency settings.**
+- [Compatibility](#compatibility)
+- [Installation](#installation)
+ - [Maven](#maven)
+ - [Gradle](#gradle)
+- [Usage](#usage)
+- [Features](#features)
+- [License](#license)
+
+## Compatibility
+
+| Client version | Socket.IO server |
+| -------------- | ---------------- |
+| 0.9.x | 1.x |
+| 1.x | 2.x |
+| WIP | 3.x |
+
+## Installation
+The latest artifact is available on Maven Central.
### Maven
Add the following dependency to your `pom.xml`.
@@ -21,7 +40,7 @@ Add the following dependency to your `pom.xml`.
io.socket
socket.io-client
- 1.0.0
+ 1.0.1/version>
```
@@ -30,22 +49,21 @@ Add the following dependency to your `pom.xml`.
Add it as a gradle dependency for Android Studio, in `build.gradle`:
```groovy
-compile ('io.socket:socket.io-client:1.0.0') {
+compile ('io.socket:socket.io-client:1.0.1') {
// excluding org.json which is provided by Android
exclude group: 'org.json', module: 'json'
}
```
-#### Socket.IO Server 1.x suppport
-
-The current version of socket.io-client-java doesn't support socket.io server 1.x.
-Please use socket.io-client-java 0.9.x for that instead.
-
## Usage
Socket.IO-client Java has almost the same api and features with the original JS client. You use `IO#socket` to initialize `Socket`:
```java
-socket = IO.socket("http://localhost");
+import io.socket.client.IO;
+import io.socket.client.Socket;
+...
+
+Socket socket = IO.socket("http://localhost");
socket.on(Socket.EVENT_CONNECT, new Emitter.Listener() {
@Override
@@ -68,7 +86,7 @@ socket.on(Socket.EVENT_CONNECT, new Emitter.Listener() {
socket.connect();
```
-This Library uses [org.json](http://www.json.org/java/) to parse and compose JSON strings:
+This Library uses [org.json](https://github.com/stleary/JSON-java) to parse and compose JSON strings:
```java
// Sending an object
@@ -189,4 +207,3 @@ This library supports all of the features the JS client does, including events,
## License
MIT
-
diff --git a/pom.xml b/pom.xml
index 1fc19f35..ce68cfbc 100644
--- a/pom.xml
+++ b/pom.xml
@@ -2,7 +2,7 @@
4.0.0
io.socket
socket.io-client
- 1.0.0
+ 1.0.1
jar
socket.io-client
Socket.IO Client Library for Java
@@ -30,7 +30,7 @@
https://github.com/socketio/socket.io-client-java
scm:git:https://github.com/socketio/socket.io-client-java.git
scm:git:https://github.com/socketio/socket.io-client-java.git
- socket.io-client-1.0.0
+ socket.io-client-1.0.1
@@ -62,7 +62,7 @@
io.socket
engine.io-client
- 1.0.0
+ 1.0.1
org.json
diff --git a/src/main/java/io/socket/client/Manager.java b/src/main/java/io/socket/client/Manager.java
index 6da92ee5..1058b067 100644
--- a/src/main/java/io/socket/client/Manager.java
+++ b/src/main/java/io/socket/client/Manager.java
@@ -191,6 +191,10 @@ public Manager reconnection(boolean v) {
return this;
}
+ public boolean isReconnecting() {
+ return reconnecting;
+ }
+
public int reconnectionAttempts() {
return this._reconnectionAttempts;
}
diff --git a/src/main/java/io/socket/client/Socket.java b/src/main/java/io/socket/client/Socket.java
index 61baef35..369d6244 100644
--- a/src/main/java/io/socket/client/Socket.java
+++ b/src/main/java/io/socket/client/Socket.java
@@ -136,7 +136,7 @@ public Socket open() {
EventThread.exec(new Runnable() {
@Override
public void run() {
- if (Socket.this.connected) return;
+ if (Socket.this.connected || Socket.this.io.isReconnecting()) return;
Socket.this.subEvents();
Socket.this.io.open(); // ensure open
diff --git a/src/main/java/io/socket/client/Url.java b/src/main/java/io/socket/client/Url.java
index b9830180..c9185d29 100644
--- a/src/main/java/io/socket/client/Url.java
+++ b/src/main/java/io/socket/client/Url.java
@@ -5,11 +5,16 @@
import java.net.URISyntaxException;
import java.net.URL;
import java.util.regex.Pattern;
+import java.util.regex.Matcher;
public class Url {
private static Pattern PATTERN_HTTP = Pattern.compile("^http|ws$");
private static Pattern PATTERN_HTTPS = Pattern.compile("^(http|ws)s$");
+ /**
+ * Expected format: "[id:password@]host[:port]"
+ */
+ private static Pattern PATTERN_AUTHORITY = Pattern.compile("^(.*@)?([^:]+)(:\\d+)?$");
private Url() {}
@@ -40,10 +45,15 @@ public static URL parse(URI uri) {
String userInfo = uri.getRawUserInfo();
String query = uri.getRawQuery();
String fragment = uri.getRawFragment();
+ String _host = uri.getHost();
+ if (_host == null) {
+ // might happen on some of Samsung Devices such as S4.
+ _host = extractHostFromAuthorityPart(uri.getRawAuthority());
+ }
try {
return new URL(protocol + "://"
+ (userInfo != null ? userInfo + "@" : "")
- + uri.getHost()
+ + _host
+ (port != -1 ? ":" + port : "")
+ path
+ (query != null ? "?" + query : "")
@@ -70,4 +80,21 @@ public static String extractId(URL url) {
return protocol + "://" + url.getHost() + ":" + port;
}
+ private static String extractHostFromAuthorityPart(String authority)
+ {
+ if (authority == null) {
+ throw new RuntimeException("unable to parse the host from the authority");
+ }
+
+ Matcher matcher = PATTERN_AUTHORITY.matcher(authority);
+
+ // If the authority part does not match the expected format.
+ if (!matcher.matches()) {
+ throw new RuntimeException("unable to parse the host from the authority");
+ }
+
+ // Return the host part.
+ return matcher.group(2);
+ }
+
}
diff --git a/src/test/java/io/socket/client/SSLConnectionTest.java b/src/test/java/io/socket/client/SSLConnectionTest.java
index f0decc89..26ad1b10 100644
--- a/src/test/java/io/socket/client/SSLConnectionTest.java
+++ b/src/test/java/io/socket/client/SSLConnectionTest.java
@@ -66,7 +66,7 @@ private static void prepareOkHttpClient() throws GeneralSecurityException, IOExc
TrustManagerFactory tmf = TrustManagerFactory.getInstance("SunX509");
tmf.init(ks);
- SSLContext sslContext = SSLContext.getInstance("TLSv1");
+ SSLContext sslContext = SSLContext.getInstance("TLS");
sslContext.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null);
sOkHttpClient = new OkHttpClient.Builder()
diff --git a/src/test/java/io/socket/client/SocketTest.java b/src/test/java/io/socket/client/SocketTest.java
index aa94e700..a50c338b 100644
--- a/src/test/java/io/socket/client/SocketTest.java
+++ b/src/test/java/io/socket/client/SocketTest.java
@@ -16,7 +16,7 @@
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.CoreMatchers.not;
-import static org.hamcrest.Matchers.greaterThan;
+import static org.hamcrest.Matchers.greaterThanOrEqualTo;
import static org.junit.Assert.assertThat;
@RunWith(JUnit4.class)
@@ -144,7 +144,7 @@ public void call(Object... args) {
@SuppressWarnings("unchecked")
long ms = (long)values.take();
- assertThat(ms, greaterThan((long)0));
+ assertThat(ms, greaterThanOrEqualTo(0L));
socket.disconnect();
}
diff --git a/src/test/resources/cert.pem b/src/test/resources/cert.pem
index bea755ce..cf3be045 100644
--- a/src/test/resources/cert.pem
+++ b/src/test/resources/cert.pem
@@ -1,10 +1,21 @@
-----BEGIN CERTIFICATE-----
-MIIBfDCCASYCCQDTnGd/oOyF1DANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJB
-VTETMBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50ZXJuZXQgV2lkZ2l0
-cyBQdHkgTHRkMB4XDTE0MDcwNzEzMTUzN1oXDTQxMTEyMTEzMTUzN1owRTELMAkG
-A1UEBhMCQVUxEzARBgNVBAgTClNvbWUtU3RhdGUxITAfBgNVBAoTGEludGVybmV0
-IFdpZGdpdHMgUHR5IEx0ZDBcMA0GCSqGSIb3DQEBAQUAA0sAMEgCQQC6sdeFPlqk
-5Pap9woFx1RO05gLidw4MNcL+ZRSxy/sNeE4PhT/RLFcEvnXiHc92wT8YB5Z+WCM
-k/jRQ0q19PNPAgMBAAEwDQYJKoZIhvcNAQEFBQADQQCnmm1N/yZiMBZw2JDfbsx3
-ecc0BGQ2BwWQuGHzP07TMi1AuOyNZSczl907OphYb9iRC8shZ4O+oXjQAuGTQ1Hp
+MIIDazCCAlOgAwIBAgIUPRxvTroGehqqXb8XOvqliIcKyagwDQYJKoZIhvcNAQEL
+BQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM
+GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0yMDEyMTAxMDE0MDFaFw0zMDEy
+MDgxMDE0MDFaMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEw
+HwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwggEiMA0GCSqGSIb3DQEB
+AQUAA4IBDwAwggEKAoIBAQCxJ8fUV6sRiNub3Af6jGpGTsWpCqtxBkRSADENMzdT
+Twz4wUXXbgv/Tbt3XJovR1RtE9nx+WyA4XqBdfr8s/qDLiVWiyszU9E6jBjQva9B
+aGJDZU0BEXjGDTFaE4tL3E/YWZvXVKmrEiq0aZa6anbjOefjG46CnXgfir/TZlx+
+8I5s/UmKY5PZ525zLHx/hGbCNCOfdH196CUsV5NNME5OIYIs0+9jLXkn8KS9uEKa
+ifhf4rv4G2wo82KkIR1JIkKalH0xb0Z/R6+J2I2ADvxCIVxcGu78Nj0Ms5jpQKM6
+GTogpC3hN4fSAVdOLTHmQU1UrOg9btZtB79fYWn1KmMlAgMBAAGjUzBRMB0GA1Ud
+DgQWBBSVf9NTqVxHgXqkdleQ4HGxxA8FTTAfBgNVHSMEGDAWgBSVf9NTqVxHgXqk
+dleQ4HGxxA8FTTAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQB8
+8Jjqcipf2jHdiRx+4ltJ5y4hitgPsPRsR74L22hHAvICFC+2b2Iu3R1vSBJj5140
+HwwH7LUPyt3IKzQP8EOB2MbZsfH10Z3/ChnH1MHmOCDO+Wusi0C0HaOfWp/rAsgY
+q+wLMGd3G72/Ba1YdaGHm9SjrziyAEnF5Uz8sUkQrDbZTiWp35PagJTDhdQ6pnUh
+JROaoYgNYhGjQ89V1geIpIVTVqoGvLyvAi4k58KQyMUtxi7IEG/IdgopZAL9IL75
+D7fMXi21mrb1ohJpk3JlS1Z1XtoynIs4uzlv9wg6yKU5ExZ0QsUwuBekopUuSAvg
+XeFIZbJz/WoAo0ZJ6o8Y
-----END CERTIFICATE-----
diff --git a/src/test/resources/key.pem b/src/test/resources/key.pem
index 4a78a226..b80afb93 100644
--- a/src/test/resources/key.pem
+++ b/src/test/resources/key.pem
@@ -1,9 +1,28 @@
------BEGIN RSA PRIVATE KEY-----
-MIIBOwIBAAJBALqx14U+WqTk9qn3CgXHVE7TmAuJ3Dgw1wv5lFLHL+w14Tg+FP9E
-sVwS+deIdz3bBPxgHln5YIyT+NFDSrX0808CAwEAAQJAIdwLSIEsk2drTRwe1zl1
-ku5RTxZruE0zU1qqifDSQjab1StAK1tapxBVRlRlyLCfD704UClsU8sjGtq0Nh6n
-kQIhAO2YJM1g0w9bWYet3zC2UdEASPzaQ7llpZmc51NRBx2NAiEAyShICAaclEuy
-wwuD4hibV+b6I8CLYoyPBo32EaceN0sCIQCUed6NxfM/houlgV+Xtmfcnzv9X3yx
-EDdzjpz08Q7sRQIgZFv1fBOYYSBXQppnJRFzx2pUmCvDHtrTrMh84RfIqnsCIQCf
-JjNXXxOaHn1PNZpi6EHReiFQmy1Swt+AxpTsKixsfA==
------END RSA PRIVATE KEY-----
+-----BEGIN PRIVATE KEY-----
+MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCxJ8fUV6sRiNub
+3Af6jGpGTsWpCqtxBkRSADENMzdTTwz4wUXXbgv/Tbt3XJovR1RtE9nx+WyA4XqB
+dfr8s/qDLiVWiyszU9E6jBjQva9BaGJDZU0BEXjGDTFaE4tL3E/YWZvXVKmrEiq0
+aZa6anbjOefjG46CnXgfir/TZlx+8I5s/UmKY5PZ525zLHx/hGbCNCOfdH196CUs
+V5NNME5OIYIs0+9jLXkn8KS9uEKaifhf4rv4G2wo82KkIR1JIkKalH0xb0Z/R6+J
+2I2ADvxCIVxcGu78Nj0Ms5jpQKM6GTogpC3hN4fSAVdOLTHmQU1UrOg9btZtB79f
+YWn1KmMlAgMBAAECggEAZCjGnTJ3wLEs4KD1Td2nlFqi/GDQ71UIuYfsM7daN1rB
+Tb8QOq24UL7lF6Yeck6U2BraJSnNA8z3k0xd/BPRtesYJycF5L4l1EEzIomsFYHr
+1IjokYsMSoVY+sGEBv7nkb2QE52FU/gwdtIf6wOYdf3eMhP5bbWUHdk3fVEpSIbN
+q9Le23U4Rf+24TUFYQfSmxIADVXnleEBaIBvIj9+uqrQWkY7aTdvdZshuL08irrU
+/UekrqsP6uruKPEL2n7xUYjM1MvkAuPmyHjikwevNpPAMuAlFty/ZCNd1fARDfKS
+WToRnpgm5u8D414gDCesoyYuy3IbhQ4t95gru2T+3QKBgQDl6sW0+0RlTMA2QOv5
+IID9UfO01OhDZZTjy83tse+hqWNN93DengBaK4LLhPxUp0Ff62nICzoeCieXgrUF
+rYkF9F1fIa1lOgTemmNoKYm3OzlBfWbZ2zlVPzxg6QlLaYBLc2ZNpAAuuGJjh115
+JjDwVh+TN/8MkPDG+dnKb52VLwKBgQDFQLV8UehHFzkirNw1+dYSCkNv9qJwoub9
+MD6lI4rl7pi//4i1QdKvJkCSSZ664s9UjyogyI+meRdUS9ea3JYUrWLUCoPr0nfb
+5b0ohEb56QhEnCO5xVO49dDpb64b8rPxztLV5Ejr0cnS73UEZSu16ihrWMtxn5w3
+sRQ4L7pf6wKBgGDKk2z7kvGqfAjbD/yTSHpcs+Je92DYNPQpaoo0rJM8QkgicWvm
+zHMpeii/1ZK1zvnYm3HR+CeJUt2f8yFuyw6sr1pLTToeUMp96HeDdSykTBhb+J6i
+geJ3eq25rWYIBjC9ZkYtUr5YdWM9K4bDIzsqpqRNoJvjsNmzeZKVppuVAoGAOwsI
+iAL4dTclWhTGAb4b7uB1mTEJJJAOdmEXj1TZQcQuouH5aNAgIV9g2qkAw04a42PL
+J28BWMJMUmY1TlyS6/OObowLOu6QBBl7ioI1wJ6ZY/gc1YGUcvvZodZVFnaKmGnh
+QDcKANSWBfa5XyxtbhF+McutcgBlwWHW/I6EyisCgYAnJ35YgVEx4hakXQNSwlPR
+Y6ArQSHTlsBdpxbE2ekDrqTDfx6r2RVdiq3arZepk4UG9UDVBzCuZfQO8mRRV0lF
+9tqssEl8uqJasxrLbY1LAg75btV+8o4UJhutstzzXG2oEY3YlZRbjl8a146jVd09
+2oxN1xfkQYQ9cLYTAOfrDw==
+-----END PRIVATE KEY-----
diff --git a/src/test/resources/keystore.jks b/src/test/resources/keystore.jks
index 24c507ba..fa70caba 100644
Binary files a/src/test/resources/keystore.jks and b/src/test/resources/keystore.jks differ
diff --git a/src/test/resources/package-lock.json b/src/test/resources/package-lock.json
index 491c6bc4..f4701575 100644
--- a/src/test/resources/package-lock.json
+++ b/src/test/resources/package-lock.json
@@ -3,12 +3,12 @@
"lockfileVersion": 1,
"dependencies": {
"accepts": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz",
- "integrity": "sha1-w8p0NJOGSMPg2cHjKN1otiLChMo=",
+ "version": "1.3.7",
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
+ "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
"requires": {
- "mime-types": "2.1.15",
- "negotiator": "0.6.1"
+ "mime-types": "~2.1.24",
+ "negotiator": "0.6.2"
}
},
"after": {
@@ -16,15 +16,63 @@
"resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz",
"integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8="
},
+ "arraybuffer.slice": {
+ "version": "0.0.7",
+ "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz",
+ "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog=="
+ },
+ "async-limiter": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz",
+ "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ=="
+ },
+ "backo2": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz",
+ "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc="
+ },
"base64-arraybuffer": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz",
- "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg="
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz",
+ "integrity": "sha1-mBjHngWbE1X5fgQooBfIOOkLqBI="
},
"base64id": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz",
+ "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog=="
+ },
+ "better-assert": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz",
+ "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=",
+ "requires": {
+ "callsite": "1.0.0"
+ }
+ },
+ "blob": {
+ "version": "0.0.5",
+ "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz",
+ "integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig=="
+ },
+ "callsite": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz",
- "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY="
+ "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz",
+ "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA="
+ },
+ "component-bind": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz",
+ "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E="
+ },
+ "component-emitter": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
+ "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY="
+ },
+ "component-inherit": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz",
+ "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM="
},
"cookie": {
"version": "0.3.1",
@@ -32,179 +80,151 @@
"integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s="
},
"debug": {
- "version": "2.6.8",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz",
- "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=",
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
"requires": {
- "ms": "2.0.0"
+ "ms": "^2.1.1"
}
},
"engine.io": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.1.0.tgz",
- "integrity": "sha1-XKQ4486f28kVxKIcjdnhJmcG5X4=",
+ "version": "3.4.2",
+ "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.4.2.tgz",
+ "integrity": "sha512-b4Q85dFkGw+TqgytGPrGgACRUhsdKc9S9ErRAXpPGy/CXKs4tYoHDkvIRdsseAF7NjfVwjRFIn6KTnbw7LwJZg==",
"requires": {
- "accepts": "1.3.3",
- "base64id": "1.0.0",
+ "accepts": "~1.3.4",
+ "base64id": "2.0.0",
"cookie": "0.3.1",
- "debug": "2.6.8",
- "engine.io-parser": "2.1.1",
- "uws": "0.14.5",
- "ws": "2.3.1"
+ "debug": "~4.1.0",
+ "engine.io-parser": "~2.2.0",
+ "ws": "^7.1.2"
}
},
"engine.io-client": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.1.1.tgz",
- "integrity": "sha1-QVqYUrrbFPoAj6PvHjFgjbZ2EyU=",
+ "version": "3.4.4",
+ "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.4.4.tgz",
+ "integrity": "sha512-iU4CRr38Fecj8HoZEnFtm2EiKGbYZcPn3cHxqNGl/tmdWRf60KhK+9vE0JeSjgnlS/0oynEfLgKbT9ALpim0sQ==",
"requires": {
- "component-emitter": "1.2.1",
+ "component-emitter": "~1.3.0",
"component-inherit": "0.0.3",
- "debug": "2.6.8",
- "engine.io-parser": "2.1.1",
+ "debug": "~3.1.0",
+ "engine.io-parser": "~2.2.0",
"has-cors": "1.1.0",
"indexof": "0.0.1",
- "parsejson": "0.0.3",
- "parseqs": "0.0.5",
- "parseuri": "0.0.5",
- "ws": "2.3.1",
- "xmlhttprequest-ssl": "1.5.3",
+ "parseqs": "0.0.6",
+ "parseuri": "0.0.6",
+ "ws": "~6.1.0",
+ "xmlhttprequest-ssl": "~1.5.4",
"yeast": "0.1.2"
},
"dependencies": {
"component-emitter": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
- "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY="
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
+ "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg=="
},
- "component-inherit": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz",
- "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM="
+ "debug": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+ "requires": {
+ "ms": "2.0.0"
+ }
},
- "has-cors": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz",
- "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk="
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
},
- "indexof": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
- "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10="
+ "parseqs": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.6.tgz",
+ "integrity": "sha512-jeAGzMDbfSHHA091hr0r31eYfTig+29g3GKKE/PPbEQ65X0lmMwlEoqmhzu0iztID5uJpZsFlUPDP8ThPL7M8w=="
},
- "yeast": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz",
- "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk="
+ "parseuri": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.6.tgz",
+ "integrity": "sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow=="
+ },
+ "ws": {
+ "version": "6.1.4",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-6.1.4.tgz",
+ "integrity": "sha512-eqZfL+NE/YQc1/ZynhojeV8q+H050oR8AZ2uIev7RU10svA9ZnJUddHcOUZTJLinZ9yEfdA2kSATS2qZK5fhJA==",
+ "requires": {
+ "async-limiter": "~1.0.0"
+ }
}
}
},
"engine.io-parser": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.1.tgz",
- "integrity": "sha1-4Ps/DgRi9/WLt3waUun1p+JuRmg=",
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.2.1.tgz",
+ "integrity": "sha512-x+dN/fBH8Ro8TFwJ+rkB2AmuVw9Yu2mockR/p3W8f8YtExwFgDvBDi0GWyb4ZLkpahtDGZgtr3zLovanJghPqg==",
"requires": {
"after": "0.8.2",
- "arraybuffer.slice": "0.0.6",
- "base64-arraybuffer": "0.1.5",
- "blob": "0.0.4",
- "has-binary2": "1.0.2"
- },
- "dependencies": {
- "arraybuffer.slice": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz",
- "integrity": "sha1-8zshWfBTKj8xB6JywMz70a0peco="
- },
- "blob": {
- "version": "0.0.4",
- "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz",
- "integrity": "sha1-vPEwUspURj8w+fx+lbmkdjCpSSE="
- }
+ "arraybuffer.slice": "~0.0.7",
+ "base64-arraybuffer": "0.1.4",
+ "blob": "0.0.5",
+ "has-binary2": "~1.0.2"
}
},
"has-binary2": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.2.tgz",
- "integrity": "sha1-6D26SfC5vk0CbSc2U1DZ8D9Uvpg=",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz",
+ "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==",
"requires": {
"isarray": "2.0.1"
- },
- "dependencies": {
- "isarray": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz",
- "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4="
- }
}
},
+ "has-cors": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz",
+ "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk="
+ },
+ "indexof": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
+ "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10="
+ },
+ "isarray": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz",
+ "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4="
+ },
"mime-db": {
- "version": "1.27.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.27.0.tgz",
- "integrity": "sha1-gg9XIpa70g7CXtVeW13oaeVDbrE="
+ "version": "1.44.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz",
+ "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg=="
},
"mime-types": {
- "version": "2.1.15",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz",
- "integrity": "sha1-pOv1BkCUVpI3uM9wBGd20J/JKu0=",
+ "version": "2.1.27",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz",
+ "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==",
"requires": {
- "mime-db": "1.27.0"
+ "mime-db": "1.44.0"
}
},
"ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
},
"negotiator": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz",
- "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk="
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
+ "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw=="
},
- "parsejson": {
+ "object-component": {
"version": "0.0.3",
- "resolved": "https://registry.npmjs.org/parsejson/-/parsejson-0.0.3.tgz",
- "integrity": "sha1-q343WfIJ7OmUN5c/fQ8fZK4OZKs=",
- "requires": {
- "better-assert": "1.0.2"
- },
- "dependencies": {
- "better-assert": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz",
- "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=",
- "requires": {
- "callsite": "1.0.0"
- }
- },
- "callsite": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz",
- "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA="
- }
- }
+ "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz",
+ "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE="
},
"parseqs": {
"version": "0.0.5",
"resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz",
"integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=",
"requires": {
- "better-assert": "1.0.2"
- },
- "dependencies": {
- "better-assert": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz",
- "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=",
- "requires": {
- "callsite": "1.0.0"
- }
- },
- "callsite": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz",
- "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA="
- }
+ "better-assert": "~1.0.0"
}
},
"parseuri": {
@@ -212,178 +232,114 @@
"resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz",
"integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=",
"requires": {
- "better-assert": "1.0.2"
- },
- "dependencies": {
- "better-assert": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz",
- "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=",
- "requires": {
- "callsite": "1.0.0"
- }
- },
- "callsite": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz",
- "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA="
- }
+ "better-assert": "~1.0.0"
}
},
- "safe-buffer": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz",
- "integrity": "sha1-0mPKVGls2KMGtcplUekt5XkY++c="
- },
"socket.io": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.0.3.tgz",
- "integrity": "sha1-Q1nwaiSTOua9CHeYr3jGgOrjReM=",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.3.0.tgz",
+ "integrity": "sha512-2A892lrj0GcgR/9Qk81EaY2gYhCBxurV0PfmmESO6p27QPrUK1J3zdns+5QPqvUYK2q657nSj0guoIil9+7eFg==",
"requires": {
- "debug": "2.6.8",
- "engine.io": "3.1.0",
- "object-assign": "4.1.1",
- "socket.io-adapter": "1.1.0",
- "socket.io-client": "2.0.3",
- "socket.io-parser": "3.1.2"
- },
- "dependencies": {
- "object-assign": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
- }
+ "debug": "~4.1.0",
+ "engine.io": "~3.4.0",
+ "has-binary2": "~1.0.2",
+ "socket.io-adapter": "~1.1.0",
+ "socket.io-client": "2.3.0",
+ "socket.io-parser": "~3.4.0"
}
},
"socket.io-adapter": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.0.tgz",
- "integrity": "sha1-x6pGUB3VVsLLiiivj/lcC14dqkw=",
- "requires": {
- "debug": "2.3.3"
- },
- "dependencies": {
- "debug": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz",
- "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=",
- "requires": {
- "ms": "0.7.2"
- }
- },
- "ms": {
- "version": "0.7.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz",
- "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U="
- }
- }
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.2.tgz",
+ "integrity": "sha512-WzZRUj1kUjrTIrUKpZLEzFZ1OLj5FwLlAFQs9kuZJzJi5DKdU7FsWc36SNmA8iDOtwBQyT8FkrriRM8vXLYz8g=="
},
"socket.io-client": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.0.3.tgz",
- "integrity": "sha1-bK9K/5+FsZ/ZG2zhPWmttWT4hzs=",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.3.0.tgz",
+ "integrity": "sha512-cEQQf24gET3rfhxZ2jJ5xzAOo/xhZwK+mOqtGRg5IowZsMgwvHwnf/mCRapAAkadhM26y+iydgwsXGObBB5ZdA==",
"requires": {
"backo2": "1.0.2",
"base64-arraybuffer": "0.1.5",
"component-bind": "1.0.0",
"component-emitter": "1.2.1",
- "debug": "2.6.8",
- "engine.io-client": "3.1.1",
+ "debug": "~4.1.0",
+ "engine.io-client": "~3.4.0",
+ "has-binary2": "~1.0.2",
"has-cors": "1.1.0",
"indexof": "0.0.1",
"object-component": "0.0.3",
"parseqs": "0.0.5",
"parseuri": "0.0.5",
- "socket.io-parser": "3.1.2",
+ "socket.io-parser": "~3.3.0",
"to-array": "0.1.4"
},
"dependencies": {
- "backo2": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz",
- "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc="
- },
- "component-bind": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz",
- "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E="
+ "base64-arraybuffer": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz",
+ "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg="
},
- "component-emitter": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
- "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY="
- },
- "has-cors": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz",
- "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk="
- },
- "indexof": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
- "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10="
- },
- "object-component": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz",
- "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE="
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
},
- "to-array": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz",
- "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA="
+ "socket.io-parser": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.3.1.tgz",
+ "integrity": "sha512-1QLvVAe8dTz+mKmZ07Swxt+LAo4Y1ff50rlyoEx00TQmDFVQYPfcqGvIDJLGaBdhdNCecXtyKpD+EgKGcmmbuQ==",
+ "requires": {
+ "component-emitter": "~1.3.0",
+ "debug": "~3.1.0",
+ "isarray": "2.0.1"
+ },
+ "dependencies": {
+ "component-emitter": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
+ "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg=="
+ },
+ "debug": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ }
+ }
}
}
},
"socket.io-parser": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.1.2.tgz",
- "integrity": "sha1-28IoIVH8T6675Aru3Ady66YZ9/I=",
+ "version": "3.4.1",
+ "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.4.1.tgz",
+ "integrity": "sha512-11hMgzL+WCLWf1uFtHSNvliI++tcRUWdoeYuwIl+Axvwy9z2gQM+7nJyN3STj1tLj5JyIUH8/gpDGxzAlDdi0A==",
"requires": {
"component-emitter": "1.2.1",
- "debug": "2.6.8",
- "has-binary2": "1.0.2",
+ "debug": "~4.1.0",
"isarray": "2.0.1"
- },
- "dependencies": {
- "component-emitter": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
- "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY="
- },
- "isarray": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz",
- "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4="
- }
}
},
- "uws": {
- "version": "0.14.5",
- "resolved": "https://registry.npmjs.org/uws/-/uws-0.14.5.tgz",
- "integrity": "sha1-Z6rzPEaypYel9mZtAPdpEyjxSdw=",
- "optional": true
+ "to-array": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz",
+ "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA="
},
"ws": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/ws/-/ws-2.3.1.tgz",
- "integrity": "sha1-a5Sz5EfLajY/eF6vlK9jWejoHIA=",
- "requires": {
- "safe-buffer": "5.0.1",
- "ultron": "1.1.0"
- },
- "dependencies": {
- "ultron": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.0.tgz",
- "integrity": "sha1-sHoualQagV/Go0zNRTO67DB8qGQ="
- }
- }
+ "version": "7.4.1",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.1.tgz",
+ "integrity": "sha512-pTsP8UAfhy3sk1lSk/O/s4tjD0CRwvMnzvwr4OKGX7ZvqZtUyx4KIJB5JWbkykPoc55tixMGgTNoh3k4FkNGFQ=="
},
"xmlhttprequest-ssl": {
- "version": "1.5.3",
- "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.3.tgz",
- "integrity": "sha1-GFqIjATspGw+QHDZn3tJ3jUomS0="
+ "version": "1.5.5",
+ "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz",
+ "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4="
+ },
+ "yeast": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz",
+ "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk="
}
}
}
diff --git a/src/test/resources/package.json b/src/test/resources/package.json
index 495be8d5..d68a262f 100644
--- a/src/test/resources/package.json
+++ b/src/test/resources/package.json
@@ -1,6 +1,6 @@
{
"private": true,
"dependencies": {
- "socket.io": "2.0.3"
+ "socket.io": "^2.3.0"
}
}
diff --git a/src/test/resources/server.js b/src/test/resources/server.js
index 08ff53c4..a0ffa824 100644
--- a/src/test/resources/server.js
+++ b/src/test/resources/server.js
@@ -18,8 +18,12 @@ var port = process.env.PORT || 3000;
var nsp = process.argv[2] || '/';
var slice = Array.prototype.slice;
-io.of('/foo').on('connection', function() {
- // register namespace
+const fooNsp = io.of('/foo');
+
+fooNsp.on('connection', (socket) => {
+ socket.on('room', (...args) => {
+ fooNsp.to(socket.id).emit.apply(fooNsp, ['roomBack'].concat(args));
+ });
});
io.of('/timeout_socket').on('connection', function() {
@@ -84,9 +88,8 @@ io.of(nsp).on('connection', function(socket) {
socket.broadcast.emit.apply(socket, ['broadcastBack'].concat(args));
});
- socket.on('room', function() {
- var args = slice.call(arguments);
- io.to(socket.id).emit.apply(socket, ['roomBack'].concat(args));
+ socket.on('room', (...args) => {
+ io.to(socket.id).emit.apply(io.sockets, ['roomBack'].concat(args));
});
socket.on('requestDisconnect', function() {