How to use cbor - 10 common examples

To help you get started, we’ve selected a few cbor examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github citelab / JAMScript / lib / jserver / TEST_VERSIONS / jamlib2.js View on Github external
console.log("Looking for.. [" + fentry + "].... " + cmsg["actname"]);
	if (fentry === undefined) {
		// send an REXEC-NAK message: {REXEC-NAK, ASY, ACTIVITY, actid, device_id, error_code}
		var nmsg = {"cmd": "REXEC-NAK", "opt": "ASY", "actname": "ACTIVITY", "actid": cmsg["actid"], "actarg": cmsg["actarg"], "args": ["NOT-FOUND"]};
		var encodemsg = cbor.encode(nmsg);
		sock.send(encodemsg);
		console.log("Sent the message..NOT-FOUND");
	}
	else
	{
		// create actid, select lease-value, put entry in the activity table
		// send [REXEC-ACK ASY ACTIVITY actid device_id lease-value (arg0) ]
		activityTable[cmsg["actid"]] = undefined;

		var nmsg = {"cmd": "REXEC-ACK", "opt": "ASY", "actname": "ACTIVITY", "actid": cmsg["actid"], "actarg": cmsg["actarg"], "args": []};
		var encodemsg = cbor.encode(nmsg);
		sock.send(encodemsg);

		// Run function
		var res = fentry.func.apply(this, cmsg["args"]);
		activityTable[cmsg["actid"]] = res;
		console.log("Execution complete.. results stored...");
	}
}
github citelab / JAMScript / lib / jserver / TEST_VERSIONS / jamlib-old.js View on Github external
var fentry = funcRegistry[cmsg["actname"]];
	console.log("Looking for.. [" + fentry + "].... " + cmsg["actname"]);
	if (fentry === undefined) {
		// send an REXEC-NAK message: {REXEC-NAK, SYN, ACTIVITY, actid, device_id, error_code}
		var nmsg = {"cmd": "REXEC-NAK", "opt": "SYN", "actname": "ACTIVITY", 
		"actid": cmsg["actid"], "actarg": cmsg["actarg"], "args": ["NOT-FOUND"]};
		var encodemsg = cbor.encode(nmsg);
		sock.send(encodemsg);
		console.log("Sent the message..NOT-FOUND");
	}
	else
	if (checkArgsType(cmsg["args"], fentry.mask) !== true) {
		// send an REXEC-NAK message: {REXEC-NAK, SYN, ACTIVITY, actid, device_id, error_code}
		var nmsg = {"cmd": "REXEC-NAK", "opt": "SYN", "actname": "ACTIVITY", 
		"actid": cmsg["actid"], "actarg": cmsg["actarg"], "args": ["ILLEGAL-PARAMS"]};
		var encodemsg = cbor.encode(nmsg);
		sock.send(encodemsg);
		console.log("Sent the message..ILLEGAL-PARAMS");
	}
	else
	{
		// create actid, select lease-value, put entry in the activity table
		// send [REXEC-ACK SYN ACTIVITY actid device_id lease-value (arg0) ]
		activityTable[cmsg["actid"]] = undefined;

		var nmsg = {"cmd": "REXEC-ACK", "opt": "SYN", "actname": "ACTIVITY", 
		"actid": cmsg["actid"], "actarg": cmsg["actarg"], "args": []};
		var encodemsg = cbor.encode(nmsg);
		sock.send(encodemsg);

		// Run function
		var res = fentry.func.apply(this, cmsg["args"]);
github dillpixel / fitbit-asap / source / companion.js View on Github external
function process() {
  // If the queue is not empty
  if (queue.length > 0) {
    // Get the next message ID
    const id = queue[0]
    // Attempt to read the message from disk
    try {
      const message = decode((new Uint8Array(JSON.parse(localStorage.getItem("_asap_" + id)))).buffer)
      const timeout = message[2]
      // If the message has expired
      if (timeout < Date.now()) {
        // Dequeue the message
        dequeue(id)
      }
      // If the message has not expired
      else {
        // Attempt to send the message
        try {
          peerSocket.send(message)
        } catch (error) {
          debug && console.log(error)
        }
      }
    }
github IoTKETI / Mobius / mobius / responder.js View on Github external
if(bodytype === 'xml') {
                var xml2js = require('xml2js');
                var parser = new xml2js.Parser({explicitArray: false});
                parser.parseString(message.utf8Data.toString(), function (err, jsonObj) {
                    if (err) {
                        console.log('[nonblocking-async-ws] xml2js parser error');
                    }
                    else {
                        console.log('----> [nonblocking-async-ws] response for notification through mqtt ' + res.headers['x-m2m-rsc']);
                        connection.close();
                    }
                });
            }
            else if(bodytype === 'cbor') {
                var encoded = message.utf8Data.toString();
                cbor.decodeFirst(encoded, function(err, jsonObj) {
                    if (err) {
                        console.log('[nonblocking-async-ws] cbor parser error');
                    }
                    else {
                        if (jsonObj.rsc == 2001 || jsonObj.rsc == 2000) {
                            console.log('----> [nonblocking-async-ws] response for notification through ws ' + jsonObj.rsc);
                            connection.close();
                        }
                    }
                });
            }
            else { // 'json'
                var jsonObj = JSON.parse(message.utf8Data.toString());

                try {
                    if (jsonObj.rsc == 2001 || jsonObj.rsc == 2000) {
github citelab / JAMScript / lib / jserver / jnode.js View on Github external
mserv.on('message', function(topic, buf) {

        cbor.decodeFirst(buf, function(error, msg) {

            switch (topic) {
                case '/admin/request/all':
                // Requests are published here by nodes under this broker
                    try {
                        adminService(msg, function(rmsg) {
                            var encode = cbor.encode(rmsg);
                            mserv.publish('/admin/announce/all', encode);
                        });
                    } catch (e) {
                        console.log("ERROR!: ", e);
                    }
                break;

                case '/level/func/request':
                // These are requests by the C nodes under this broker
github citelab / JAMScript / lib / jserver / OLD_VERSIONS / jserver-notworking.js View on Github external
rep.on('data', function(buf) {
	console.log("Buffer size " + Buffer.byteLength(buf));
	cbor.decodeFirst(buf, function(error, msg) {
		// if error != null .. it seems nanomsg is
		// receiving more bytes than what the C sent..
		// TODO: investigate this problem.
		//
		processMsg(rep, msg)
		console.log("Helllo");
	});
});
github citelab / JAMScript / lib / jamserver / jamdatastream.js View on Github external
var dest = datastream.datasource.getDestination();

        if (e) {
            datastream.isBusy = false;
            throw e;
        } else {
            if (response === undefined) {
                let hasData = datastream.hasData;
                datastream.isBusy = false;
                if( hasData )
                    datastream.request_value_refresh();
                return;
            }

            for (var i = 0; i < response.length; i++) {
                var dval = cbor.decodeFirstSync(response[i]);
                var log = dval.value;
                var timestamp = dval.timestamp;

                // try {
                //     log = cbor.decodeFirstSync(log);
                //     // if (debug) console.log(log);
                // } catch(e) {
                //     console.log("WARN! Error decoding data.. ", log)
                // }
                // }

                //console.log("Before log transform:", log);

                entry = {
                    log: datastream.transformer(log, datastream),
                    time_stamp: timestamp
github Ylianst / MeshCentral / webauthn.js View on Github external
obj.verifyAuthenticatorAttestationResponse = function (webauthnResponse) {
        const attestationBuffer = Buffer.from(webauthnResponse.attestationObject, 'base64');
        const ctapMakeCredResp = cbor.decodeAllSync(attestationBuffer)[0];
        const authrDataStruct = parseMakeCredAuthData(ctapMakeCredResp.authData);
        //console.log('***CTAP_RESPONSE', ctapMakeCredResp)
        //console.log('***AUTHR_DATA_STRUCT', authrDataStruct)

        const response = { 'verified': false };

        if (ctapMakeCredResp.fmt === 'none') {
            if (!(authrDataStruct.flags & 0x01)) { throw new Error('User was NOT presented during authentication!'); } // U2F_USER_PRESENTED

            const publicKey = COSEECDHAtoPKCS(authrDataStruct.COSEPublicKey);
            response.verified = true;

            if (response.verified) {
                response.authrInfo = {
                    fmt: 'none',
                    publicKey: ASN1toPEM(publicKey),
github elevenyellow / coinfy / src / api / coins / ADA.js View on Github external
const derivationPath = [HARDENED_THRESHOLD, childIndex]

        addressPayload = encryptDerivationPath(derivationPath, hdPassphrase)
        addressAttributes = new Map([[1, cbor.encode(addressPayload)]])
        derivedHdNode = deriveHdNode(parentHdNode, childIndex)
    }
    const addressRoot = getAddressRoot(derivedHdNode, addressPayload)

    const addressType = 0 // Public key address

    const addressData = [addressRoot, addressAttributes, addressType]

    const addressDataEncoded = cbor.encode(addressData)

    const address = base58.encode(
        cbor.encode([
            new cbor.Tagged(24, addressDataEncoded),
            crc32Unsigned(addressDataEncoded)
        ])
    )

    return {
        address,
        childIndex,
        hdNode: derivedHdNode
    }
}
github IoTKETI / Mobius / pxy_ws.js View on Github external
rsp_message['m2m:rsp'].pc[prop][prop2]['@'] = {rn : rsp_message['m2m:rsp'].pc[prop][prop2][prop3]};
                                    delete rsp_message['m2m:rsp'].pc[prop][prop2][prop3];
                                }
                            }
                        }
                    }
                }
            }
        }

        var bodyString = js2xmlparser.parse("m2m:rsp", rsp_message['m2m:rsp']);

        ws_conn.sendUTF(bodyString.toString());
    }
    else if (bodytype === 'cbor') { // 'cbor'
        bodyString = cbor.encode(rsp_message['m2m:rsp']).toString('hex');
        var bytearray = Buffer.from(bodyString, 'hex');
        ws_conn.send(bytearray);
    }
    else { // 'json'
        ws_conn.sendUTF(JSON.stringify(rsp_message['m2m:rsp']));
    }
}

cbor

Encode and parse data in the Concise Binary Object Representation (CBOR) data format (RFC8949).

MIT
Latest version published 15 days ago

Package Health Score

86 / 100
Full package analysis