Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
return new Promise((resolve, reject) => {
// const API_HOST = "https://%s.internetofthings.ibmcloud.com/api/v0002";
let uri = this.withProxy
? "/api/v0002"
: this.withHttps
? format("https://%s/api/v0002", this.httpServer)
: format("http://%s/api/v0002", this.httpServer);
if (Array.isArray(paths)) {
for (var i = 0, l = paths.length; i < l; i++) {
uri += '/' + paths[i];
}
}
let xhrConfig = {
url: uri,
method: method,
headers: {
'Content-Type': 'application/json'
}
};
if (this.useLtpa) {
return new Promise((resolve, reject) => {
// const API_HOST = "https://%s.internetofthings.ibmcloud.com/api/v0002";
let uri = this.withProxy
? "/api/v0002"
: format("https://%s/api/v0002", this.httpServer);
if (Array.isArray(paths)) {
for (var i = 0, l = paths.length; i < l; i++) {
uri += '/' + paths[i];
}
}
let xhrConfig = {
url: uri,
method: method,
headers: {
'Content-Type': 'multipart/form-data'
}
};
if (this.useLtpa) {
unmanageDevice(type, id){
if(!this.isConnected){
this.log.error("Client is not connected");
//throw new Error("Client is not connected");
//instead of throwing error, will emit 'error' event.
this.emit('error', "Client is not connected");
}
var payload = new Object();
var reqId = generateUUID();
payload.reqId = reqId;
payload = JSON.stringify(payload);
let builtTopic = format(UNMANAGE_TOPIC,type,id);
this._deviceRequests[reqId] = {action : UNMANAGE, topic : builtTopic, payload : payload};
this.log.debug("Publishing unmanage request on topic [%s] with payload : %s", builtTopic, payload);
this.mqtt.publish(builtTopic, payload, QOS);
return reqId;
}
clearLogsDevice(type, id){
if(!this.isConnected){
this.log.error("Client is not connected");
//throw new Error("Client is not connected");
//instead of throwing error, will emit 'error' event.
this.emit('error', "Client is not connected");
}
var payload = new Object();
var reqId = generateUUID();
payload.reqId = reqId;
payload = JSON.stringify(payload);
let builtTopic = format(CLEAR_LOGS_TOPIC,type,id);
this._deviceRequests[reqId] = {action : CLEAR_LOG, topic : builtTopic, payload : payload};
this.log.debug("Publishing clear logs request on topic [%s] with payload : %s", builtTopic, payload);
this.mqtt.publish(builtTopic, payload, QOS);
return reqId;
}
clearErrorCodesDevice(type, id){
if(!this.isConnected){
this.log.error("Client is not connected");
//throw new Error("Client is not connected");
//instead of throwing error, will emit 'error' event.
this.emit('error', "Client is not connected");
}
var payload = new Object();
var reqId = generateUUID();
payload.reqId = reqId;
payload = JSON.stringify(payload);
let builtTopic = format(CLEAR_ERROR_CODES_TOPIC,type,id);
this._deviceRequests[reqId] = {action: CLEAR_ERROR, topic : builtTopic, payload : payload};
this.log.debug("Publishing clear error codes request on topic [%s] with payload : %s", builtTopic, payload);
this.mqtt.publish(builtTopic, payload, QOS);
return reqId;
}
throw new Error("supportFirmwareActions must be a boolean");
}
d.supports.firmwareActions = supportFirmwareActions;
}
}
var payload = new Object();
payload.d = d;
var reqId = generateUUID();
payload.reqId = reqId;
payload = JSON.stringify(payload);
let builtTopic = format(MANAGE_TOPIC,type,id);
this._deviceRequests[reqId] = {action : MANAGE, topic : builtTopic, payload : payload};
this.log.debug("Publishing manage request on topic [%s] with payload : %s", builtTopic, payload);
this.mqtt.publish(builtTopic, payload, QOS);
return reqId;
}
if(isDefined(data)){
if(!isString(data)){
throw new Error("data must be a string");
}
d.data = data;
}
var payload = new Object();
payload.d = d;
var reqId = generateUUID();
payload.reqId = reqId;
payload = JSON.stringify(payload);
let builtTopic = format(ADD_LOG_TOPIC,type,id);
this._deviceRequests[reqId] = {action: ADD_LOG, topic : builtTopic, payload : payload};
this.log.debug("Publishing add log request on topic [%s] with payload : %s", builtTopic, payload);
this.mqtt.publish(builtTopic, payload, QOS);
return reqId;
}