[ https://issues.apache.org/jira/browse/TINKERPOP-1959?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16629832#comment-16629832 ]
ASF GitHub Bot commented on TINKERPOP-1959: ------------------------------------------- Github user mattallenuk commented on a diff in the pull request: https://github.com/apache/tinkerpop/pull/922#discussion_r220812375 --- 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 -- @jorgebay yes, I'll get that done. > Provide a way to submit scripts to the server in gremlin-javascript > ------------------------------------------------------------------- > > Key: TINKERPOP-1959 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1959 > Project: TinkerPop > Issue Type: Improvement > Components: javascript > Affects Versions: 3.2.8 > Reporter: stephen mallette > Priority: Critical > > It is currently only possible to submit bytecode based requests to the server > with gremlin-javascript. We should also provide some means for submitting > scripts. -- This message was sent by Atlassian JIRA (v7.6.3#76005)