You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by sp...@apache.org on 2020/06/02 11:07:52 UTC

[tinkerpop] branch TINKERPOP-2143 created (now 98b5d5b)

This is an automated email from the ASF dual-hosted git repository.

spmallette pushed a change to branch TINKERPOP-2143
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git.


      at 98b5d5b  Merge branch 'pr-1070' into TINKERPOP-2143

This branch includes the following new commits:

     new 98b5d5b  Merge branch 'pr-1070' into TINKERPOP-2143

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[tinkerpop] 01/01: Merge branch 'pr-1070' into TINKERPOP-2143

Posted by sp...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

spmallette pushed a commit to branch TINKERPOP-2143
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git

commit 98b5d5bcb6b9221db679835db0f368476f72926e
Merge: 61858dc cf96d42
Author: Stephen Mallette <sp...@genoprime.com>
AuthorDate: Tue Jun 2 07:07:26 2020 -0400

    Merge branch 'pr-1070' into TINKERPOP-2143

 gremlin-javascript/glv/PackageJson.template        |  12 ++-
 .../gremlin-javascript/lib/driver/connection.js    | 119 +++++++++++----------
 .../javascript/gremlin-javascript/lib/utils.js     |  16 +--
 .../javascript/gremlin-javascript/package.json     |  12 ++-
 4 files changed, 89 insertions(+), 70 deletions(-)

diff --cc gremlin-javascript/glv/PackageJson.template
index 4089dc2,8bc2905..b8a0060
--- a/gremlin-javascript/glv/PackageJson.template
+++ b/gremlin-javascript/glv/PackageJson.template
@@@ -33,15 -33,15 +33,19 @@@
    ],
    "license": "Apache-2.0",
    "dependencies": {
-     "ws": "^6.2.1"
 -    "ws": "^3.0.0"
++    "ws": "^6.2.1",
++    "util": "^0.11.1",
++    "events": "^3.0.0",
++    "uuid": "^3.3.2"
    },
    "devDependencies": {
 -    "mocha": "~4.0.1",
 -    "cucumber": "~3.1.0",
--    "chai": "~4.1.2",
-     "cucumber": "~4.2.1",
 -    "grunt": "~1.0.2",
 -    "grunt-cli": "~1.2.0",
 -    "grunt-jsdoc": "~2.3.0"
++    "chai": "~4.2.0",
++    "cucumber": "~5.1.0",
 +    "grunt": "~1.0.4",
 +    "grunt-cli": "~1.3.2",
 +    "grunt-jsdoc": "~2.3.1",
-     "mocha": "~5.2.0"
++    "mocha": "~5.2.0",
++    "uuid": "^3.3.2"
    },
    "repository": {
      "type": "git",
diff --cc gremlin-javascript/src/main/javascript/gremlin-javascript/lib/driver/connection.js
index 67dce3a,a2c2f98..3315df9
--- a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/driver/connection.js
+++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/driver/connection.js
@@@ -158,30 -151,25 +153,37 @@@ class Connection extends EventEmitter 
    submit(bytecode, op, args, requestId, processor) {
      return this.open().then(() => new Promise((resolve, reject) => {
        if (requestId === null || requestId === undefined) {
-         requestId = utils.getUuid();
-         this._responseHandlers[requestId] = {
-           callback: (err, result) => err ? reject(err) : resolve(result),
+       requestId = utils.getUuid();
+       this._responseHandlers[requestId] = {
+         callback: (err, result) => err ? reject(err) : resolve(result),
            result: null
-         };
-       }
+     };
+     }
  
-       const message = Buffer.from(this._header + JSON.stringify(this._getRequest(requestId, bytecode, op, args, processor)));
-       this._ws.send(message);
-     }));
+     //const message = Buffer.from(this._header + JSON.stringify(this._getRequest(requestId, bytecode, op, args, processor)));
+      const message = this._header + JSON.stringify(this._getRequest(requestId, bytecode, op, args, processor));
+       var buf = new ArrayBuffer(message.length); // 2 bytes for each char
+       var bufView = new Uint8Array(buf);
+       for (var i=0, strLen=message.length; i < strLen; i++) {
+         bufView[i] = message.charCodeAt(i);
+       }
+       this._ws.binaryType = 'arraybuffer';
+     this._ws.send(bufView);
+   }));
    }
  
 +  _getDefaultReader(mimeType) {
 +    return mimeType === graphSON2MimeType
 +      ? new serializer.GraphSON2Reader()
 +      : new serializer.GraphSONReader();
 +  }
 +
 +  _getDefaultWriter(mimeType) {
 +    return mimeType === graphSON2MimeType
 +      ? new serializer.GraphSON2Writer()
 +      : new serializer.GraphSONWriter();
 +  }
 +
    _getRequest(id, bytecode, op, args, processor) {
      if (args) {
        args = this._adaptArgs(args, true);
@@@ -239,8 -228,14 +242,14 @@@
      this.emit('close', code, message);
    }
  
-   _handleMessage(data) {
-     const response = this._reader.read(JSON.parse(data.toString()));
+   _handleMessage(msg) {
+     if(msg.data instanceof ArrayBuffer ) {
+       //if in browser javascript, the data are sent as Uint8
+       var data = String.fromCharCode.apply(null, new Uint8Array(msg.data));
 -    }else{
++    } else {
+       data = msg;
+     }
+     const response = this._reader.read(JSON.parse(data));
      if (response.requestId === null || response.requestId === undefined) {
        // There was a serialization issue on the server that prevented the parsing of the request id
        // We invoke any of the pending handlers with an error
diff --cc gremlin-javascript/src/main/javascript/gremlin-javascript/package.json
index 39658d6,70f4e57..5352963
--- a/gremlin-javascript/src/main/javascript/gremlin-javascript/package.json
+++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/package.json
@@@ -14,15 -14,19 +14,19 @@@
    ],
    "license": "Apache-2.0",
    "dependencies": {
-     "ws": "^6.2.1"
 -    "ws": "^6.0.0",
++    "ws": "^6.2.1",
+     "util": "^0.11.1",
+     "events": "^3.0.0",
+     "uuid": "^3.3.2"
    },
    "devDependencies": {
-     "chai": "~4.1.2",
-     "cucumber": "~4.2.1",
 -    "mocha": "~5.2.0",
 -    "cucumber": "~5.1.0",
+     "chai": "~4.2.0",
 -    "grunt": "~1.0.3",
++    "cucumber": "~5.1.0",
 +    "grunt": "~1.0.4",
      "grunt-cli": "~1.3.2",
 -    "grunt-jsdoc": "~2.3.0",
 +    "grunt-jsdoc": "~2.3.1",
-     "mocha": "~5.2.0"
++    "mocha": "~5.2.0",
+     "uuid": "^3.3.2"
    },
    "repository": {
      "type": "git",