osquery-extension-manager
Version:
Osquery extension manager
1,665 lines (1,581 loc) • 50.2 kB
JavaScript
//
// Autogenerated by Thrift Compiler (0.14.2)
//
// DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
//
"use strict";
const thrift = require('thrift');
const Thrift = thrift.Thrift;
const Int64 = require('node-int64');
const Extension = require('./Extension');
const ExtensionClient = Extension.Client;
const ExtensionProcessor = Extension.Processor;
const ttypes = require('./osquery_types');
//HELPER FUNCTIONS AND STRUCTURES
const ExtensionManager_extensions_args = class {
constructor(args) {
}
read (input) {
input.readStructBegin();
while (true) {
const ret = input.readFieldBegin();
const ftype = ret.ftype;
if (ftype == Thrift.Type.STOP) {
break;
}
input.skip(ftype);
input.readFieldEnd();
}
input.readStructEnd();
return;
}
write (output) {
output.writeStructBegin('ExtensionManager_extensions_args');
output.writeFieldStop();
output.writeStructEnd();
return;
}
};
const ExtensionManager_extensions_result = class {
constructor(args) {
this.success = null;
if (args) {
if (args.success !== undefined && args.success !== null) {
this.success = Thrift.copyMap(args.success, [ttypes.InternalExtensionInfo]);
}
}
}
read (input) {
input.readStructBegin();
while (true) {
const ret = input.readFieldBegin();
const ftype = ret.ftype;
const fid = ret.fid;
if (ftype == Thrift.Type.STOP) {
break;
}
switch (fid) {
case 0:
if (ftype == Thrift.Type.MAP) {
this.success = {};
const _rtmp320 = input.readMapBegin();
const _size19 = _rtmp320.size || 0;
for (let _i21 = 0; _i21 < _size19; ++_i21) {
let key22 = null;
let val23 = null;
key22 = input.readI64();
val23 = new ttypes.InternalExtensionInfo();
val23.read(input);
this.success[key22] = val23;
}
input.readMapEnd();
} else {
input.skip(ftype);
}
break;
case 0:
input.skip(ftype);
break;
default:
input.skip(ftype);
}
input.readFieldEnd();
}
input.readStructEnd();
return;
}
write (output) {
output.writeStructBegin('ExtensionManager_extensions_result');
if (this.success !== null && this.success !== undefined) {
output.writeFieldBegin('success', Thrift.Type.MAP, 0);
output.writeMapBegin(Thrift.Type.I64, Thrift.Type.STRUCT, Thrift.objectLength(this.success));
for (let kiter24 in this.success) {
if (this.success.hasOwnProperty(kiter24)) {
let viter25 = this.success[kiter24];
output.writeI64(kiter24);
viter25.write(output);
}
}
output.writeMapEnd();
output.writeFieldEnd();
}
output.writeFieldStop();
output.writeStructEnd();
return;
}
};
const ExtensionManager_options_args = class {
constructor(args) {
}
read (input) {
input.readStructBegin();
while (true) {
const ret = input.readFieldBegin();
const ftype = ret.ftype;
if (ftype == Thrift.Type.STOP) {
break;
}
input.skip(ftype);
input.readFieldEnd();
}
input.readStructEnd();
return;
}
write (output) {
output.writeStructBegin('ExtensionManager_options_args');
output.writeFieldStop();
output.writeStructEnd();
return;
}
};
const ExtensionManager_options_result = class {
constructor(args) {
this.success = null;
if (args) {
if (args.success !== undefined && args.success !== null) {
this.success = Thrift.copyMap(args.success, [ttypes.InternalOptionInfo]);
}
}
}
read (input) {
input.readStructBegin();
while (true) {
const ret = input.readFieldBegin();
const ftype = ret.ftype;
const fid = ret.fid;
if (ftype == Thrift.Type.STOP) {
break;
}
switch (fid) {
case 0:
if (ftype == Thrift.Type.MAP) {
this.success = {};
const _rtmp327 = input.readMapBegin();
const _size26 = _rtmp327.size || 0;
for (let _i28 = 0; _i28 < _size26; ++_i28) {
let key29 = null;
let val30 = null;
key29 = input.readString();
val30 = new ttypes.InternalOptionInfo();
val30.read(input);
this.success[key29] = val30;
}
input.readMapEnd();
} else {
input.skip(ftype);
}
break;
case 0:
input.skip(ftype);
break;
default:
input.skip(ftype);
}
input.readFieldEnd();
}
input.readStructEnd();
return;
}
write (output) {
output.writeStructBegin('ExtensionManager_options_result');
if (this.success !== null && this.success !== undefined) {
output.writeFieldBegin('success', Thrift.Type.MAP, 0);
output.writeMapBegin(Thrift.Type.STRING, Thrift.Type.STRUCT, Thrift.objectLength(this.success));
for (let kiter31 in this.success) {
if (this.success.hasOwnProperty(kiter31)) {
let viter32 = this.success[kiter31];
output.writeString(kiter31);
viter32.write(output);
}
}
output.writeMapEnd();
output.writeFieldEnd();
}
output.writeFieldStop();
output.writeStructEnd();
return;
}
};
const ExtensionManager_registerExtension_args = class {
constructor(args) {
this.info = null;
this.registry = null;
if (args) {
if (args.info !== undefined && args.info !== null) {
this.info = new ttypes.InternalExtensionInfo(args.info);
}
if (args.registry !== undefined && args.registry !== null) {
this.registry = Thrift.copyMap(args.registry, [null]);
}
}
}
read (input) {
input.readStructBegin();
while (true) {
const ret = input.readFieldBegin();
const ftype = ret.ftype;
const fid = ret.fid;
if (ftype == Thrift.Type.STOP) {
break;
}
switch (fid) {
case 1:
if (ftype == Thrift.Type.STRUCT) {
this.info = new ttypes.InternalExtensionInfo();
this.info.read(input);
} else {
input.skip(ftype);
}
break;
case 2:
if (ftype == Thrift.Type.MAP) {
this.registry = {};
const _rtmp334 = input.readMapBegin();
const _size33 = _rtmp334.size || 0;
for (let _i35 = 0; _i35 < _size33; ++_i35) {
let key36 = null;
let val37 = null;
key36 = input.readString();
val37 = {};
const _rtmp339 = input.readMapBegin();
const _size38 = _rtmp339.size || 0;
for (let _i40 = 0; _i40 < _size38; ++_i40) {
let key41 = null;
let val42 = null;
key41 = input.readString();
val42 = [];
const _rtmp344 = input.readListBegin();
const _size43 = _rtmp344.size || 0;
for (let _i45 = 0; _i45 < _size43; ++_i45) {
let elem46 = null;
elem46 = {};
const _rtmp348 = input.readMapBegin();
const _size47 = _rtmp348.size || 0;
for (let _i49 = 0; _i49 < _size47; ++_i49) {
let key50 = null;
let val51 = null;
key50 = input.readString();
val51 = input.readString();
elem46[key50] = val51;
}
input.readMapEnd();
val42.push(elem46);
}
input.readListEnd();
val37[key41] = val42;
}
input.readMapEnd();
this.registry[key36] = val37;
}
input.readMapEnd();
} else {
input.skip(ftype);
}
break;
default:
input.skip(ftype);
}
input.readFieldEnd();
}
input.readStructEnd();
return;
}
write (output) {
output.writeStructBegin('ExtensionManager_registerExtension_args');
if (this.info !== null && this.info !== undefined) {
output.writeFieldBegin('info', Thrift.Type.STRUCT, 1);
this.info.write(output);
output.writeFieldEnd();
}
if (this.registry !== null && this.registry !== undefined) {
output.writeFieldBegin('registry', Thrift.Type.MAP, 2);
output.writeMapBegin(Thrift.Type.STRING, Thrift.Type.MAP, Thrift.objectLength(this.registry));
for (let kiter52 in this.registry) {
if (this.registry.hasOwnProperty(kiter52)) {
let viter53 = this.registry[kiter52];
output.writeString(kiter52);
output.writeMapBegin(Thrift.Type.STRING, Thrift.Type.LIST, Thrift.objectLength(viter53));
for (let kiter54 in viter53) {
if (viter53.hasOwnProperty(kiter54)) {
let viter55 = viter53[kiter54];
output.writeString(kiter54);
output.writeListBegin(Thrift.Type.MAP, viter55.length);
for (let iter56 in viter55) {
if (viter55.hasOwnProperty(iter56)) {
iter56 = viter55[iter56];
output.writeMapBegin(Thrift.Type.STRING, Thrift.Type.STRING, Thrift.objectLength(iter56));
for (let kiter57 in iter56) {
if (iter56.hasOwnProperty(kiter57)) {
let viter58 = iter56[kiter57];
output.writeString(kiter57);
output.writeString(viter58);
}
}
output.writeMapEnd();
}
}
output.writeListEnd();
}
}
output.writeMapEnd();
}
}
output.writeMapEnd();
output.writeFieldEnd();
}
output.writeFieldStop();
output.writeStructEnd();
return;
}
};
const ExtensionManager_registerExtension_result = class {
constructor(args) {
this.success = null;
if (args) {
if (args.success !== undefined && args.success !== null) {
this.success = new ttypes.ExtensionStatus(args.success);
}
}
}
read (input) {
input.readStructBegin();
while (true) {
const ret = input.readFieldBegin();
const ftype = ret.ftype;
const fid = ret.fid;
if (ftype == Thrift.Type.STOP) {
break;
}
switch (fid) {
case 0:
if (ftype == Thrift.Type.STRUCT) {
this.success = new ttypes.ExtensionStatus();
this.success.read(input);
} else {
input.skip(ftype);
}
break;
case 0:
input.skip(ftype);
break;
default:
input.skip(ftype);
}
input.readFieldEnd();
}
input.readStructEnd();
return;
}
write (output) {
output.writeStructBegin('ExtensionManager_registerExtension_result');
if (this.success !== null && this.success !== undefined) {
output.writeFieldBegin('success', Thrift.Type.STRUCT, 0);
this.success.write(output);
output.writeFieldEnd();
}
output.writeFieldStop();
output.writeStructEnd();
return;
}
};
const ExtensionManager_deregisterExtension_args = class {
constructor(args) {
this.uuid = null;
if (args) {
if (args.uuid !== undefined && args.uuid !== null) {
this.uuid = args.uuid;
}
}
}
read (input) {
input.readStructBegin();
while (true) {
const ret = input.readFieldBegin();
const ftype = ret.ftype;
const fid = ret.fid;
if (ftype == Thrift.Type.STOP) {
break;
}
switch (fid) {
case 1:
if (ftype == Thrift.Type.I64) {
this.uuid = input.readI64();
} else {
input.skip(ftype);
}
break;
case 0:
input.skip(ftype);
break;
default:
input.skip(ftype);
}
input.readFieldEnd();
}
input.readStructEnd();
return;
}
write (output) {
output.writeStructBegin('ExtensionManager_deregisterExtension_args');
if (this.uuid !== null && this.uuid !== undefined) {
output.writeFieldBegin('uuid', Thrift.Type.I64, 1);
output.writeI64(this.uuid);
output.writeFieldEnd();
}
output.writeFieldStop();
output.writeStructEnd();
return;
}
};
const ExtensionManager_deregisterExtension_result = class {
constructor(args) {
this.success = null;
if (args) {
if (args.success !== undefined && args.success !== null) {
this.success = new ttypes.ExtensionStatus(args.success);
}
}
}
read (input) {
input.readStructBegin();
while (true) {
const ret = input.readFieldBegin();
const ftype = ret.ftype;
const fid = ret.fid;
if (ftype == Thrift.Type.STOP) {
break;
}
switch (fid) {
case 0:
if (ftype == Thrift.Type.STRUCT) {
this.success = new ttypes.ExtensionStatus();
this.success.read(input);
} else {
input.skip(ftype);
}
break;
case 0:
input.skip(ftype);
break;
default:
input.skip(ftype);
}
input.readFieldEnd();
}
input.readStructEnd();
return;
}
write (output) {
output.writeStructBegin('ExtensionManager_deregisterExtension_result');
if (this.success !== null && this.success !== undefined) {
output.writeFieldBegin('success', Thrift.Type.STRUCT, 0);
this.success.write(output);
output.writeFieldEnd();
}
output.writeFieldStop();
output.writeStructEnd();
return;
}
};
const ExtensionManager_query_args = class {
constructor(args) {
this.sql = null;
if (args) {
if (args.sql !== undefined && args.sql !== null) {
this.sql = args.sql;
}
}
}
read (input) {
input.readStructBegin();
while (true) {
const ret = input.readFieldBegin();
const ftype = ret.ftype;
const fid = ret.fid;
if (ftype == Thrift.Type.STOP) {
break;
}
switch (fid) {
case 1:
if (ftype == Thrift.Type.STRING) {
this.sql = input.readString();
} else {
input.skip(ftype);
}
break;
case 0:
input.skip(ftype);
break;
default:
input.skip(ftype);
}
input.readFieldEnd();
}
input.readStructEnd();
return;
}
write (output) {
output.writeStructBegin('ExtensionManager_query_args');
if (this.sql !== null && this.sql !== undefined) {
output.writeFieldBegin('sql', Thrift.Type.STRING, 1);
output.writeString(this.sql);
output.writeFieldEnd();
}
output.writeFieldStop();
output.writeStructEnd();
return;
}
};
const ExtensionManager_query_result = class {
constructor(args) {
this.success = null;
if (args) {
if (args.success !== undefined && args.success !== null) {
this.success = new ttypes.ExtensionResponse(args.success);
}
}
}
read (input) {
input.readStructBegin();
while (true) {
const ret = input.readFieldBegin();
const ftype = ret.ftype;
const fid = ret.fid;
if (ftype == Thrift.Type.STOP) {
break;
}
switch (fid) {
case 0:
if (ftype == Thrift.Type.STRUCT) {
this.success = new ttypes.ExtensionResponse();
this.success.read(input);
} else {
input.skip(ftype);
}
break;
case 0:
input.skip(ftype);
break;
default:
input.skip(ftype);
}
input.readFieldEnd();
}
input.readStructEnd();
return;
}
write (output) {
output.writeStructBegin('ExtensionManager_query_result');
if (this.success !== null && this.success !== undefined) {
output.writeFieldBegin('success', Thrift.Type.STRUCT, 0);
this.success.write(output);
output.writeFieldEnd();
}
output.writeFieldStop();
output.writeStructEnd();
return;
}
};
const ExtensionManager_getQueryColumns_args = class {
constructor(args) {
this.sql = null;
if (args) {
if (args.sql !== undefined && args.sql !== null) {
this.sql = args.sql;
}
}
}
read (input) {
input.readStructBegin();
while (true) {
const ret = input.readFieldBegin();
const ftype = ret.ftype;
const fid = ret.fid;
if (ftype == Thrift.Type.STOP) {
break;
}
switch (fid) {
case 1:
if (ftype == Thrift.Type.STRING) {
this.sql = input.readString();
} else {
input.skip(ftype);
}
break;
case 0:
input.skip(ftype);
break;
default:
input.skip(ftype);
}
input.readFieldEnd();
}
input.readStructEnd();
return;
}
write (output) {
output.writeStructBegin('ExtensionManager_getQueryColumns_args');
if (this.sql !== null && this.sql !== undefined) {
output.writeFieldBegin('sql', Thrift.Type.STRING, 1);
output.writeString(this.sql);
output.writeFieldEnd();
}
output.writeFieldStop();
output.writeStructEnd();
return;
}
};
const ExtensionManager_getQueryColumns_result = class {
constructor(args) {
this.success = null;
if (args) {
if (args.success !== undefined && args.success !== null) {
this.success = new ttypes.ExtensionResponse(args.success);
}
}
}
read (input) {
input.readStructBegin();
while (true) {
const ret = input.readFieldBegin();
const ftype = ret.ftype;
const fid = ret.fid;
if (ftype == Thrift.Type.STOP) {
break;
}
switch (fid) {
case 0:
if (ftype == Thrift.Type.STRUCT) {
this.success = new ttypes.ExtensionResponse();
this.success.read(input);
} else {
input.skip(ftype);
}
break;
case 0:
input.skip(ftype);
break;
default:
input.skip(ftype);
}
input.readFieldEnd();
}
input.readStructEnd();
return;
}
write (output) {
output.writeStructBegin('ExtensionManager_getQueryColumns_result');
if (this.success !== null && this.success !== undefined) {
output.writeFieldBegin('success', Thrift.Type.STRUCT, 0);
this.success.write(output);
output.writeFieldEnd();
}
output.writeFieldStop();
output.writeStructEnd();
return;
}
};
const ExtensionManager_streamEvents_args = class {
constructor(args) {
this.name = null;
this.events = null;
if (args) {
if (args.name !== undefined && args.name !== null) {
this.name = args.name;
}
if (args.events !== undefined && args.events !== null) {
this.events = Thrift.copyList(args.events, [Thrift.copyMap, null]);
}
}
}
read (input) {
input.readStructBegin();
while (true) {
const ret = input.readFieldBegin();
const ftype = ret.ftype;
const fid = ret.fid;
if (ftype == Thrift.Type.STOP) {
break;
}
switch (fid) {
case 1:
if (ftype == Thrift.Type.STRING) {
this.name = input.readString();
} else {
input.skip(ftype);
}
break;
case 2:
if (ftype == Thrift.Type.LIST) {
this.events = [];
const _rtmp360 = input.readListBegin();
const _size59 = _rtmp360.size || 0;
for (let _i61 = 0; _i61 < _size59; ++_i61) {
let elem62 = null;
elem62 = {};
const _rtmp364 = input.readMapBegin();
const _size63 = _rtmp364.size || 0;
for (let _i65 = 0; _i65 < _size63; ++_i65) {
let key66 = null;
let val67 = null;
key66 = input.readString();
val67 = input.readString();
elem62[key66] = val67;
}
input.readMapEnd();
this.events.push(elem62);
}
input.readListEnd();
} else {
input.skip(ftype);
}
break;
default:
input.skip(ftype);
}
input.readFieldEnd();
}
input.readStructEnd();
return;
}
write (output) {
output.writeStructBegin('ExtensionManager_streamEvents_args');
if (this.name !== null && this.name !== undefined) {
output.writeFieldBegin('name', Thrift.Type.STRING, 1);
output.writeString(this.name);
output.writeFieldEnd();
}
if (this.events !== null && this.events !== undefined) {
output.writeFieldBegin('events', Thrift.Type.LIST, 2);
output.writeListBegin(Thrift.Type.MAP, this.events.length);
for (let iter68 in this.events) {
if (this.events.hasOwnProperty(iter68)) {
iter68 = this.events[iter68];
output.writeMapBegin(Thrift.Type.STRING, Thrift.Type.STRING, Thrift.objectLength(iter68));
for (let kiter69 in iter68) {
if (iter68.hasOwnProperty(kiter69)) {
let viter70 = iter68[kiter69];
output.writeString(kiter69);
output.writeString(viter70);
}
}
output.writeMapEnd();
}
}
output.writeListEnd();
output.writeFieldEnd();
}
output.writeFieldStop();
output.writeStructEnd();
return;
}
};
const ExtensionManager_streamEvents_result = class {
constructor(args) {
this.success = null;
if (args) {
if (args.success !== undefined && args.success !== null) {
this.success = new ttypes.ExtensionStatus(args.success);
}
}
}
read (input) {
input.readStructBegin();
while (true) {
const ret = input.readFieldBegin();
const ftype = ret.ftype;
const fid = ret.fid;
if (ftype == Thrift.Type.STOP) {
break;
}
switch (fid) {
case 0:
if (ftype == Thrift.Type.STRUCT) {
this.success = new ttypes.ExtensionStatus();
this.success.read(input);
} else {
input.skip(ftype);
}
break;
case 0:
input.skip(ftype);
break;
default:
input.skip(ftype);
}
input.readFieldEnd();
}
input.readStructEnd();
return;
}
write (output) {
output.writeStructBegin('ExtensionManager_streamEvents_result');
if (this.success !== null && this.success !== undefined) {
output.writeFieldBegin('success', Thrift.Type.STRUCT, 0);
this.success.write(output);
output.writeFieldEnd();
}
output.writeFieldStop();
output.writeStructEnd();
return;
}
};
const ExtensionManager_getNodeKey_args = class {
constructor(args) {
}
read (input) {
input.readStructBegin();
while (true) {
const ret = input.readFieldBegin();
const ftype = ret.ftype;
if (ftype == Thrift.Type.STOP) {
break;
}
input.skip(ftype);
input.readFieldEnd();
}
input.readStructEnd();
return;
}
write (output) {
output.writeStructBegin('ExtensionManager_getNodeKey_args');
output.writeFieldStop();
output.writeStructEnd();
return;
}
};
const ExtensionManager_getNodeKey_result = class {
constructor(args) {
this.success = null;
if (args) {
if (args.success !== undefined && args.success !== null) {
this.success = args.success;
}
}
}
read (input) {
input.readStructBegin();
while (true) {
const ret = input.readFieldBegin();
const ftype = ret.ftype;
const fid = ret.fid;
if (ftype == Thrift.Type.STOP) {
break;
}
switch (fid) {
case 0:
if (ftype == Thrift.Type.STRING) {
this.success = input.readString();
} else {
input.skip(ftype);
}
break;
case 0:
input.skip(ftype);
break;
default:
input.skip(ftype);
}
input.readFieldEnd();
}
input.readStructEnd();
return;
}
write (output) {
output.writeStructBegin('ExtensionManager_getNodeKey_result');
if (this.success !== null && this.success !== undefined) {
output.writeFieldBegin('success', Thrift.Type.STRING, 0);
output.writeString(this.success);
output.writeFieldEnd();
}
output.writeFieldStop();
output.writeStructEnd();
return;
}
};
const ExtensionManagerClient = exports.Client = class ExtensionManagerClient extends ExtensionClient {
constructor(output, pClass) {
super(output, pClass);
this.output = output;
this.pClass = pClass;
this._seqid = 0;
this._reqs = {};
}
seqid () { return this._seqid; }
new_seqid () { return this._seqid += 1; }
extensions () {
this._seqid = this.new_seqid();
const self = this;
return new Promise((resolve, reject) => {
self._reqs[self.seqid()] = (error, result) => {
return error ? reject(error) : resolve(result);
};
self.send_extensions();
});
}
send_extensions () {
const output = new this.pClass(this.output);
const args = new ExtensionManager_extensions_args();
try {
output.writeMessageBegin('extensions', Thrift.MessageType.CALL, this.seqid());
args.write(output);
output.writeMessageEnd();
return this.output.flush();
}
catch (e) {
delete this._reqs[this.seqid()];
if (typeof output.reset === 'function') {
output.reset();
}
throw e;
}
}
recv_extensions (input, mtype, rseqid) {
const callback = this._reqs[rseqid] || function() {};
delete this._reqs[rseqid];
if (mtype == Thrift.MessageType.EXCEPTION) {
const x = new Thrift.TApplicationException();
x.read(input);
input.readMessageEnd();
return callback(x);
}
const result = new ExtensionManager_extensions_result();
result.read(input);
input.readMessageEnd();
if (null !== result.success) {
return callback(null, result.success);
}
return callback('extensions failed: unknown result');
}
options () {
this._seqid = this.new_seqid();
const self = this;
return new Promise((resolve, reject) => {
self._reqs[self.seqid()] = (error, result) => {
return error ? reject(error) : resolve(result);
};
self.send_options();
});
}
send_options () {
const output = new this.pClass(this.output);
const args = new ExtensionManager_options_args();
try {
output.writeMessageBegin('options', Thrift.MessageType.CALL, this.seqid());
args.write(output);
output.writeMessageEnd();
return this.output.flush();
}
catch (e) {
delete this._reqs[this.seqid()];
if (typeof output.reset === 'function') {
output.reset();
}
throw e;
}
}
recv_options (input, mtype, rseqid) {
const callback = this._reqs[rseqid] || function() {};
delete this._reqs[rseqid];
if (mtype == Thrift.MessageType.EXCEPTION) {
const x = new Thrift.TApplicationException();
x.read(input);
input.readMessageEnd();
return callback(x);
}
const result = new ExtensionManager_options_result();
result.read(input);
input.readMessageEnd();
if (null !== result.success) {
return callback(null, result.success);
}
return callback('options failed: unknown result');
}
registerExtension (info, registry) {
this._seqid = this.new_seqid();
const self = this;
return new Promise((resolve, reject) => {
self._reqs[self.seqid()] = (error, result) => {
return error ? reject(error) : resolve(result);
};
self.send_registerExtension(info, registry);
});
}
send_registerExtension (info, registry) {
const output = new this.pClass(this.output);
const params = {
info: info,
registry: registry
};
const args = new ExtensionManager_registerExtension_args(params);
try {
output.writeMessageBegin('registerExtension', Thrift.MessageType.CALL, this.seqid());
args.write(output);
output.writeMessageEnd();
return this.output.flush();
}
catch (e) {
delete this._reqs[this.seqid()];
if (typeof output.reset === 'function') {
output.reset();
}
throw e;
}
}
recv_registerExtension (input, mtype, rseqid) {
const callback = this._reqs[rseqid] || function() {};
delete this._reqs[rseqid];
if (mtype == Thrift.MessageType.EXCEPTION) {
const x = new Thrift.TApplicationException();
x.read(input);
input.readMessageEnd();
return callback(x);
}
const result = new ExtensionManager_registerExtension_result();
result.read(input);
input.readMessageEnd();
if (null !== result.success) {
return callback(null, result.success);
}
return callback('registerExtension failed: unknown result');
}
deregisterExtension (uuid) {
this._seqid = this.new_seqid();
const self = this;
return new Promise((resolve, reject) => {
self._reqs[self.seqid()] = (error, result) => {
return error ? reject(error) : resolve(result);
};
self.send_deregisterExtension(uuid);
});
}
send_deregisterExtension (uuid) {
const output = new this.pClass(this.output);
const params = {
uuid: uuid
};
const args = new ExtensionManager_deregisterExtension_args(params);
try {
output.writeMessageBegin('deregisterExtension', Thrift.MessageType.CALL, this.seqid());
args.write(output);
output.writeMessageEnd();
return this.output.flush();
}
catch (e) {
delete this._reqs[this.seqid()];
if (typeof output.reset === 'function') {
output.reset();
}
throw e;
}
}
recv_deregisterExtension (input, mtype, rseqid) {
const callback = this._reqs[rseqid] || function() {};
delete this._reqs[rseqid];
if (mtype == Thrift.MessageType.EXCEPTION) {
const x = new Thrift.TApplicationException();
x.read(input);
input.readMessageEnd();
return callback(x);
}
const result = new ExtensionManager_deregisterExtension_result();
result.read(input);
input.readMessageEnd();
if (null !== result.success) {
return callback(null, result.success);
}
return callback('deregisterExtension failed: unknown result');
}
query (sql) {
this._seqid = this.new_seqid();
const self = this;
return new Promise((resolve, reject) => {
self._reqs[self.seqid()] = (error, result) => {
return error ? reject(error) : resolve(result);
};
self.send_query(sql);
});
}
send_query (sql) {
const output = new this.pClass(this.output);
const params = {
sql: sql
};
const args = new ExtensionManager_query_args(params);
try {
output.writeMessageBegin('query', Thrift.MessageType.CALL, this.seqid());
args.write(output);
output.writeMessageEnd();
return this.output.flush();
}
catch (e) {
delete this._reqs[this.seqid()];
if (typeof output.reset === 'function') {
output.reset();
}
throw e;
}
}
recv_query (input, mtype, rseqid) {
const callback = this._reqs[rseqid] || function() {};
delete this._reqs[rseqid];
if (mtype == Thrift.MessageType.EXCEPTION) {
const x = new Thrift.TApplicationException();
x.read(input);
input.readMessageEnd();
return callback(x);
}
const result = new ExtensionManager_query_result();
result.read(input);
input.readMessageEnd();
if (null !== result.success) {
return callback(null, result.success);
}
return callback('query failed: unknown result');
}
getQueryColumns (sql) {
this._seqid = this.new_seqid();
const self = this;
return new Promise((resolve, reject) => {
self._reqs[self.seqid()] = (error, result) => {
return error ? reject(error) : resolve(result);
};
self.send_getQueryColumns(sql);
});
}
send_getQueryColumns (sql) {
const output = new this.pClass(this.output);
const params = {
sql: sql
};
const args = new ExtensionManager_getQueryColumns_args(params);
try {
output.writeMessageBegin('getQueryColumns', Thrift.MessageType.CALL, this.seqid());
args.write(output);
output.writeMessageEnd();
return this.output.flush();
}
catch (e) {
delete this._reqs[this.seqid()];
if (typeof output.reset === 'function') {
output.reset();
}
throw e;
}
}
recv_getQueryColumns (input, mtype, rseqid) {
const callback = this._reqs[rseqid] || function() {};
delete this._reqs[rseqid];
if (mtype == Thrift.MessageType.EXCEPTION) {
const x = new Thrift.TApplicationException();
x.read(input);
input.readMessageEnd();
return callback(x);
}
const result = new ExtensionManager_getQueryColumns_result();
result.read(input);
input.readMessageEnd();
if (null !== result.success) {
return callback(null, result.success);
}
return callback('getQueryColumns failed: unknown result');
}
streamEvents (name, events) {
this._seqid = this.new_seqid();
const self = this;
return new Promise((resolve, reject) => {
self._reqs[self.seqid()] = (error, result) => {
return error ? reject(error) : resolve(result);
};
self.send_streamEvents(name, events);
});
}
send_streamEvents (name, events) {
const output = new this.pClass(this.output);
const params = {
name: name,
events: events
};
const args = new ExtensionManager_streamEvents_args(params);
try {
output.writeMessageBegin('streamEvents', Thrift.MessageType.CALL, this.seqid());
args.write(output);
output.writeMessageEnd();
return this.output.flush();
}
catch (e) {
delete this._reqs[this.seqid()];
if (typeof output.reset === 'function') {
output.reset();
}
throw e;
}
}
recv_streamEvents (input, mtype, rseqid) {
const callback = this._reqs[rseqid] || function() {};
delete this._reqs[rseqid];
if (mtype == Thrift.MessageType.EXCEPTION) {
const x = new Thrift.TApplicationException();
x.read(input);
input.readMessageEnd();
return callback(x);
}
const result = new ExtensionManager_streamEvents_result();
result.read(input);
input.readMessageEnd();
if (null !== result.success) {
return callback(null, result.success);
}
return callback('streamEvents failed: unknown result');
}
getNodeKey () {
this._seqid = this.new_seqid();
const self = this;
return new Promise((resolve, reject) => {
self._reqs[self.seqid()] = (error, result) => {
return error ? reject(error) : resolve(result);
};
self.send_getNodeKey();
});
}
send_getNodeKey () {
const output = new this.pClass(this.output);
const args = new ExtensionManager_getNodeKey_args();
try {
output.writeMessageBegin('getNodeKey', Thrift.MessageType.CALL, this.seqid());
args.write(output);
output.writeMessageEnd();
return this.output.flush();
}
catch (e) {
delete this._reqs[this.seqid()];
if (typeof output.reset === 'function') {
output.reset();
}
throw e;
}
}
recv_getNodeKey (input, mtype, rseqid) {
const callback = this._reqs[rseqid] || function() {};
delete this._reqs[rseqid];
if (mtype == Thrift.MessageType.EXCEPTION) {
const x = new Thrift.TApplicationException();
x.read(input);
input.readMessageEnd();
return callback(x);
}
const result = new ExtensionManager_getNodeKey_result();
result.read(input);
input.readMessageEnd();
if (null !== result.success) {
return callback(null, result.success);
}
return callback('getNodeKey failed: unknown result');
}
};
const ExtensionManagerProcessor = exports.Processor = class ExtensionManagerProcessor extends ExtensionProcessor {
constructor(handler) {
super(handler);
this._handler = handler;
}
process (input, output) {
const r = input.readMessageBegin();
if (this['process_' + r.fname]) {
return this['process_' + r.fname].call(this, r.rseqid, input, output);
} else {
input.skip(Thrift.Type.STRUCT);
input.readMessageEnd();
const x = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN_METHOD, 'Unknown function ' + r.fname);
output.writeMessageBegin(r.fname, Thrift.MessageType.EXCEPTION, r.rseqid);
x.write(output);
output.writeMessageEnd();
output.flush();
}
}
process_extensions (seqid, input, output) {
const args = new ExtensionManager_extensions_args();
args.read(input);
input.readMessageEnd();
if (this._handler.extensions.length === 0) {
Promise.resolve(this._handler.extensions.bind(this._handler)(
)).then(result => {
const result_obj = new ExtensionManager_extensions_result({success: result});
output.writeMessageBegin("extensions", Thrift.MessageType.REPLY, seqid);
result_obj.write(output);
output.writeMessageEnd();
output.flush();
}).catch(err => {
let result;
result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);
output.writeMessageBegin("extensions", Thrift.MessageType.EXCEPTION, seqid);
result.write(output);
output.writeMessageEnd();
output.flush();
});
} else {
this._handler.extensions((err, result) => {
let result_obj;
if ((err === null || typeof err === 'undefined')) {
result_obj = new ExtensionManager_extensions_result((err !== null || typeof err === 'undefined') ? err : {success: result});
output.writeMessageBegin("extensions", Thrift.MessageType.REPLY, seqid);
} else {
result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);
output.writeMessageBegin("extensions", Thrift.MessageType.EXCEPTION, seqid);
}
result_obj.write(output);
output.writeMessageEnd();
output.flush();
});
}
}
process_options (seqid, input, output) {
const args = new ExtensionManager_options_args();
args.read(input);
input.readMessageEnd();
if (this._handler.options.length === 0) {
Promise.resolve(this._handler.options.bind(this._handler)(
)).then(result => {
const result_obj = new ExtensionManager_options_result({success: result});
output.writeMessageBegin("options", Thrift.MessageType.REPLY, seqid);
result_obj.write(output);
output.writeMessageEnd();
output.flush();
}).catch(err => {
let result;
result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);
output.writeMessageBegin("options", Thrift.MessageType.EXCEPTION, seqid);
result.write(output);
output.writeMessageEnd();
output.flush();
});
} else {
this._handler.options((err, result) => {
let result_obj;
if ((err === null || typeof err === 'undefined')) {
result_obj = new ExtensionManager_options_result((err !== null || typeof err === 'undefined') ? err : {success: result});
output.writeMessageBegin("options", Thrift.MessageType.REPLY, seqid);
} else {
result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);
output.writeMessageBegin("options", Thrift.MessageType.EXCEPTION, seqid);
}
result_obj.write(output);
output.writeMessageEnd();
output.flush();
});
}
}
process_registerExtension (seqid, input, output) {
const args = new ExtensionManager_registerExtension_args();
args.read(input);
input.readMessageEnd();
if (this._handler.registerExtension.length === 2) {
Promise.resolve(this._handler.registerExtension.bind(this._handler)(
args.info,
args.registry
)).then(result => {
const result_obj = new ExtensionManager_registerExtension_result({success: result});
output.writeMessageBegin("registerExtension", Thrift.MessageType.REPLY, seqid);
result_obj.write(output);
output.writeMessageEnd();
output.flush();
}).catch(err => {
let result;
result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);
output.writeMessageBegin("registerExtension", Thrift.MessageType.EXCEPTION, seqid);
result.write(output);
output.writeMessageEnd();
output.flush();
});
} else {
this._handler.registerExtension(args.info, args.registry, (err, result) => {
let result_obj;
if ((err === null || typeof err === 'undefined')) {
result_obj = new ExtensionManager_registerExtension_result((err !== null || typeof err === 'undefined') ? err : {success: result});
output.writeMessageBegin("registerExtension", Thrift.MessageType.REPLY, seqid);
} else {
result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);
output.writeMessageBegin("registerExtension", Thrift.MessageType.EXCEPTION, seqid);
}
result_obj.write(output);
output.writeMessageEnd();
output.flush();
});
}
}
process_deregisterExtension (seqid, input, output) {
const args = new ExtensionManager_deregisterExtension_args();
args.read(input);
input.readMessageEnd();
if (this._handler.deregisterExtension.length === 1) {
Promise.resolve(this._handler.deregisterExtension.bind(this._handler)(
args.uuid
)).then(result => {
const result_obj = new ExtensionManager_deregisterExtension_result({success: result});
output.writeMessageBegin("deregisterExtension", Thrift.MessageType.REPLY, seqid);
result_obj.write(output);
output.writeMessageEnd();
output.flush();
}).catch(err => {
let result;
result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);
output.writeMessageBegin("deregisterExtension", Thrift.MessageType.EXCEPTION, seqid);
result.write(output);
output.writeMessageEnd();
output.flush();
});
} else {
this._handler.deregisterExtension(args.uuid, (err, result) => {
let result_obj;
if ((err === null || typeof err === 'undefined')) {
result_obj = new ExtensionManager_deregisterExtension_result((err !== null || typeof err === 'undefined') ? err : {success: result});
output.writeMessageBegin("deregisterExtension", Thrift.MessageType.REPLY, seqid);
} else {
result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);
output.writeMessageBegin("deregisterExtension", Thrift.MessageType.EXCEPTION, seqid);
}
result_obj.write(output);
output.writeMessageEnd();
output.flush();
});
}
}
process_query (seqid, input, output) {
const args = new ExtensionManager_query_args();
args.read(input);
input.readMessageEnd();
if (this._handler.query.length === 1) {
Promise.resolve(this._handler.query.bind(this._handler)(
args.sql
)).then(result => {
const result_obj = new ExtensionManager_query_result({success: result});
output.writeMessageBegin("query", Thrift.MessageType.REPLY, seqid);
result_obj.write(output);
output.writeMessageEnd();
output.flush();
}).catch(err => {
let result;
result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);
output.writeMessageBegin("query", Thrift.MessageType.EXCEPTION, seqid);
result.write(output);
output.writeMessageEnd();
output.flush();
});
} else {
this._handler.query(args.sql, (err, result) => {
let result_obj;
if ((err === null || typeof err === 'undefined')) {
result_obj = new ExtensionManager_query_result((err !== null || typeof err === 'undefined') ? err : {success: result});
output.writeMessageBegin("query", Thrift.MessageType.REPLY, seqid);
} else {
result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);
output.writeMessageBegin("query", Thrift.MessageType.EXCEPTION, seqid);
}
result_obj.write(output);
output.writeMessageEnd();
output.flush();
});
}
}
process_getQueryColumns (seqid, input, output) {
const args = new ExtensionManager_getQueryColumns_args();
args.read(input);
input.readMessageEnd();
if (this._handler.getQueryColumns.length === 1) {
Promise.resolve(this._handler.getQueryColumns.bind(this._handler)(
args.sql
)).then(result => {
const result_obj = new ExtensionManager_getQueryColumns_result({success: result});
output.writeMessageBegin("getQueryColumns", Thrift.MessageType.REPLY, seqid);
result_obj.write(output);
output.writeMessageEnd();
output.flush();
}).catch(err => {
let result;
result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);
output.writeMessageBegin("getQueryColumns", Thrift.MessageType.EXCEPTION, seqid);
result.write(output);
output.writeMessageEnd();
output.flush();
});
} else {
this._handler.getQueryColumns(args.sql, (err, result) => {
let result_obj;
if ((err === null || typeof err === 'undefined')) {
result_obj = new ExtensionManager_getQueryColumns_result((err !== null || typeof err === 'undefined') ? err : {success: result});
output.writeMessageBegin("getQueryColumns", Thrift.MessageType.REPLY, seqid);
} else {
result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);
output.writeMessageBegin("getQueryColumns", Thrift.MessageType.EXCEPTION, seqid);
}
result_obj.write(output);
output.writeMessageEnd();
output.flush();
});
}
}
process_streamEvents (seqid, input, output) {
const args = new ExtensionManager_streamEvents_args();
args.read(input);
input.readMessageEnd();
if (this._handler.streamEvents.length === 2) {
Promise.resolve(this._handler.streamEvents.bind(this._handler)(
args.name,
args.events
)).then(result => {
const result_obj = new ExtensionManager_streamEvents_result({success: result});
output.writeMessageBegin("streamEvents", Thrift.MessageType.REPLY, seqid);
result_obj.write(output);
output.writeMessageEnd();
output.flush();
}).catch(err => {
let result;
result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);
output.writeMessageBegin("streamEvents", Thrift.MessageType.EXCEPTION, seqid);
result.write(output);
output.writeMessageEnd();
output.flush();
});
} else {
this._handler.streamEvents(args.name, args.events, (err, result) => {
let result_obj;
if ((err === null || typeof err === 'undefined')) {
result_obj = new ExtensionManager_streamEvents_result((err !== null || typeof err === 'undefined') ? err : {success: result});
output.writeMessageBegin("streamEvents", Thrift.MessageType.REPLY, seqid);
} else {
result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);
output.writeMessageBegin("streamEvents", Thrift.MessageType.EXCEPTION, seqid);
}
result_obj.write(output);
output.writeMessageEnd();
output.flush();
});
}
}
process_getNodeKey (seqid, input, output) {
const args = new ExtensionManager_getNodeKey_args();
args.read(input);
input.readMessageEnd();
if (this._handler.getNodeKey.length === 0) {
Promise.resolve(this._handler.getNodeKey.bind(this._handler)(
)).then(result => {
const result_obj = new ExtensionManager_getNodeKey_result({success: result});
output.writeMessageBegin("getNodeKey", Thrift.MessageType.REPLY, seqid);
result_obj.write(output);
output.writeMessageEnd();
output.flush();
}).catch(err => {
let result;
result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);
output.writeMessageBegin("getNodeKey", Thrift.MessageType.EXCEPTION, seqid);
result.write(output);
output.writeMessageEnd();
output.flush();
});
} else {
this._handler.getNodeKey((err, result) => {
let result_obj;
if ((err === null || typeof err === 'undefined')) {
result_obj = new ExtensionManager_getNodeKey_result((err !== null || typeof err === 'undefined') ? err : {success: result});
output.writeMessageBegin("getNodeKey", Thrift.MessageType.REPLY, seqid);
} else {
result_obj = new Thrift.TApplicationException(Thrift.TApplication