rocketmq-client-nodejs-beta
Version:
RocketMQ Node.js Client
90 lines • 6.99 kB
JavaScript
"use strict";
/**
* 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.
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.MessageView = void 0;
const node_zlib_1 = require("node:zlib");
const definition_pb_1 = require("../../proto/apache/rocketmq/v2/definition_pb");
const util_1 = require("../util");
class MessageView {
messageId;
topic;
body;
corrupted;
transportDeliveryTimestamp;
tag;
messageGroup;
deliveryTimestamp;
keys;
bornHost;
bornTimestamp;
deliveryAttempt;
endpoints;
receiptHandle;
offset;
decodeTimestamp;
properties = new Map();
constructor(message, messageQueue, transportDeliveryTimestamp) {
const systemProperties = message.getSystemProperties();
const bodyDigest = systemProperties.getBodyDigest().toObject();
const digestType = bodyDigest.type;
const checksum = bodyDigest.checksum;
let expectedChecksum = '';
let bodyBytes = Buffer.from(message.getBody_asU8());
switch (digestType) {
case definition_pb_1.DigestType.CRC32:
expectedChecksum = (0, util_1.crc32CheckSum)(bodyBytes);
break;
case definition_pb_1.DigestType.MD5:
expectedChecksum = (0, util_1.md5CheckSum)(bodyBytes);
break;
case definition_pb_1.DigestType.SHA1:
expectedChecksum = (0, util_1.sha1CheckSum)(bodyBytes);
break;
default:
// log.error("Unsupported message body digest algorithm, digestType={}, topic={}, messageId={}",
// digestType, topic, messageId);
}
if (expectedChecksum && expectedChecksum !== checksum) {
this.corrupted = true;
}
if (systemProperties.getBodyEncoding() === definition_pb_1.Encoding.GZIP) {
bodyBytes = (0, node_zlib_1.gunzipSync)(bodyBytes);
}
for (const [key, value] of message.getUserPropertiesMap().entries()) {
this.properties.set(key, value);
}
this.messageId = systemProperties.getMessageId();
this.topic = message.getTopic().getName();
this.tag = systemProperties.getTag();
this.messageGroup = systemProperties.getMessageGroup();
this.deliveryTimestamp = systemProperties.getDeliveryTimestamp()?.toDate();
this.keys = systemProperties.getKeysList();
this.bornHost = systemProperties.getBornHost();
this.bornTimestamp = systemProperties.getBornTimestamp()?.toDate();
this.deliveryAttempt = systemProperties.getDeliveryAttempt();
this.offset = systemProperties.getQueueOffset();
this.receiptHandle = systemProperties.getReceiptHandle();
this.transportDeliveryTimestamp = transportDeliveryTimestamp;
if (messageQueue) {
this.endpoints = messageQueue.broker.endpoints;
}
this.body = bodyBytes;
}
}
exports.MessageView = MessageView;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWVzc2FnZVZpZXcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbWVzc2FnZS9NZXNzYWdlVmlldy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHOzs7QUFFSCx5Q0FBdUM7QUFDdkMsZ0ZBSXNEO0FBQ3RELGtDQUFtRTtBQUduRSxNQUFhLFdBQVc7SUFDYixTQUFTLENBQVM7SUFDbEIsS0FBSyxDQUFTO0lBQ2QsSUFBSSxDQUFTO0lBQ2IsU0FBUyxDQUFVO0lBQ25CLDBCQUEwQixDQUFRO0lBQ2xDLEdBQUcsQ0FBVTtJQUNiLFlBQVksQ0FBVTtJQUN0QixpQkFBaUIsQ0FBUTtJQUN6QixJQUFJLENBQVc7SUFDZixRQUFRLENBQVM7SUFDakIsYUFBYSxDQUFRO0lBQ3JCLGVBQWUsQ0FBVTtJQUN6QixTQUFTLENBQVk7SUFDckIsYUFBYSxDQUFTO0lBQ3RCLE1BQU0sQ0FBVTtJQUNoQixlQUFlLENBQU87SUFDdEIsVUFBVSxHQUFHLElBQUksR0FBRyxFQUFrQixDQUFDO0lBRWhELFlBQVksT0FBa0IsRUFBRSxZQUEyQixFQUFFLDBCQUFpQztRQUM1RixNQUFNLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRyxDQUFDO1FBQ3hELE1BQU0sVUFBVSxHQUFHLGdCQUFnQixDQUFDLGFBQWEsRUFBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2hFLE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUM7UUFDbkMsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQztRQUNyQyxJQUFJLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztRQUMxQixJQUFJLFNBQVMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1FBQ3BELFFBQVEsVUFBVSxFQUFFLENBQUM7WUFDbkIsS0FBSywwQkFBVSxDQUFDLEtBQUs7Z0JBQ25CLGdCQUFnQixHQUFHLElBQUEsb0JBQWEsRUFBQyxTQUFTLENBQUMsQ0FBQztnQkFDNUMsTUFBTTtZQUNSLEtBQUssMEJBQVUsQ0FBQyxHQUFHO2dCQUNqQixnQkFBZ0IsR0FBRyxJQUFBLGtCQUFXLEVBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQzFDLE1BQU07WUFDUixLQUFLLDBCQUFVLENBQUMsSUFBSTtnQkFDbEIsZ0JBQWdCLEdBQUcsSUFBQSxtQkFBWSxFQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUMzQyxNQUFNO1lBQ1IsUUFBUTtZQUNOLGdHQUFnRztZQUNoRyw2Q0FBNkM7UUFDakQsQ0FBQztRQUNELElBQUksZ0JBQWdCLElBQUksZ0JBQWdCLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDdEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDeEIsQ0FBQztRQUNELElBQUksZ0JBQWdCLENBQUMsZUFBZSxFQUFFLEtBQUssd0JBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN6RCxTQUFTLEdBQUcsSUFBQSxzQkFBVSxFQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3BDLENBQUM7UUFFRCxLQUFLLE1BQU0sQ0FBRSxHQUFHLEVBQUUsS0FBSyxDQUFFLElBQUksT0FBTyxDQUFDLG9CQUFvQixFQUFFLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztZQUN0RSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDbEMsQ0FBQztRQUNELElBQUksQ0FBQyxTQUFTLEdBQUcsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDakQsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsUUFBUSxFQUFHLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDM0MsSUFBSSxDQUFDLEdBQUcsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNyQyxJQUFJLENBQUMsWUFBWSxHQUFHLGdCQUFnQixDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxnQkFBZ0IsQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQzNFLElBQUksQ0FBQyxJQUFJLEdBQUcsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDM0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMvQyxJQUFJLENBQUMsYUFBYSxHQUFHLGdCQUFnQixDQUFDLGdCQUFnQixFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFDbkUsSUFBSSxDQUFDLGVBQWUsR0FBRyxnQkFBZ0IsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzdELElBQUksQ0FBQyxNQUFNLEdBQUcsZ0JBQWdCLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDaEQsSUFBSSxDQUFDLGFBQWEsR0FBRyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsRUFBRyxDQUFDO1FBQzFELElBQUksQ0FBQywwQkFBMEIsR0FBRywwQkFBMEIsQ0FBQztRQUM3RCxJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxTQUFTLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFDakQsQ0FBQztRQUNELElBQUksQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDO0lBQ3hCLENBQUM7Q0FDRjtBQW5FRCxrQ0FtRUMifQ==