tinkerpop-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jorgebay <...@git.apache.org>
Subject [GitHub] tinkerpop pull request #922: TINKERPOP-1959: Gremlin Javascript ability to s...
Date Fri, 21 Sep 2018 11:54:26 GMT
Github user jorgebay commented on a diff in the pull request:

    https://github.com/apache/tinkerpop/pull/922#discussion_r219471784
  
    --- Diff: gremlin-javascript/src/main/javascript/gremlin-javascript/lib/driver/client.js
---
    @@ -0,0 +1,87 @@
    +/*
    + *  Licensed to the Apache Software Foundation (ASF) under one
    + *  or more contributor license agreements.  See the NOTICE file
    + *  distributed with this work for additional information
    + *  regarding copyright ownership.  The ASF licenses this file
    + *  to you under the Apache License, Version 2.0 (the
    + *  "License"); you may not use this file except in compliance
    + *  with the License.  You may obtain a copy of the License at
    + *
    + *  http://www.apache.org/licenses/LICENSE-2.0
    + *
    + *  Unless required by applicable law or agreed to in writing,
    + *  software distributed under the License is distributed on an
    + *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    + *  KIND, either express or implied.  See the License for the
    + *  specific language governing permissions and limitations
    + *  under the License.
    + */
    +'use strict';
    +
    +const DriverRemoteConnection = require('./driver-remote-connection');
    +const Bytecode = require('../process/bytecode');
    +
    +class Client {
    +  /**
    +   * Creates a new instance of DriverRemoteConnection.
    +   * @param {String} url The resource uri.
    +   * @param {Object} [options] The connection options.
    +   * @param {Array} [options.ca] Trusted certificates.
    +   * @param {String|Array|Buffer} [options.cert] The certificate key.
    +   * @param {String} [options.mimeType] The mime type to use.
    +   * @param {String|Buffer} [options.pfx] The private key, certificate, and CA certs.
    +   * @param {GraphSONReader} [options.reader] The reader to use.
    +   * @param {Boolean} [options.rejectUnauthorized] Determines whether to verify or not
the server certificate.
    +   * @param {String} [options.traversalSource] The traversal source. Defaults to: 'g'.
    +   * @param {GraphSONWriter} [options.writer] The writer to use.
    +   * @param {Authenticator} [options.authenticator] The authentication handler to use.
    +   * @constructor
    +   */
    +  constructor(url, options) {
    +    this._options = options;
    +    this._connection = new DriverRemoteConnection(url, options);
    +  }
    +
    +  /**
    +   * Opens the underlying connection to the Gremlin Server, if it's not already opened.
    +   * @returns {Promise}
    +   */
    +  open() {
    +    return this._connection.open();
    +  }
    +
    +  /**
    +   * Send a request to the Gremlin Server, can send a script or bytecode steps.
    +   * @param {Bytecode|string} message The bytecode or script to send
    +   * @param {Object} bindings The script bindings, if any.
    +   * @returns {Promise}
    +   */
    +  submit(message, bindings) {
    +    if (typeof message === 'string' || message instanceof String) {
    +      const args = {
    +        'gremlin': message,
    +        'bindings': bindings,
    --- End diff --
    
    oh, I see that `args` are adapted by the `Connection` afterwards, never mind my previous
comment.
    
    @mattallenuk: Can we include a test containing a binding like a `Long` or `Set` or any
type that is not a native js type? 


---

Mime
View raw message