UNPKG

rocketmq-client-nodejs-beta

Version:
100 lines 7.78 kB
"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.PublishingMessage = void 0; const timestamp_pb_1 = require("google-protobuf/google/protobuf/timestamp_pb"); const definition_pb_1 = require("../../proto/apache/rocketmq/v2/definition_pb"); const util_1 = require("../util"); const client_1 = require("../client"); const Message_1 = require("./Message"); const MessageId_1 = require("./MessageId"); class PublishingMessage extends Message_1.Message { messageId; messageType; constructor(options, publishingSettings, txEnabled) { super(options); const length = this.body.length; const maxBodySizeBytes = publishingSettings.maxBodySizeBytes; if (length > maxBodySizeBytes) { throw new TypeError(`Message body size exceeds the threshold, max size=${maxBodySizeBytes} bytes`); } // Generate message id. this.messageId = MessageId_1.MessageIdFactory.create().toString(); // Normal message. if (!this.messageGroup && !this.deliveryTimestamp && !txEnabled) { this.messageType = definition_pb_1.MessageType.NORMAL; return; } // Fifo message. if (this.messageGroup && !txEnabled) { this.messageType = definition_pb_1.MessageType.FIFO; return; } // Delay message. if (this.deliveryTimestamp && !txEnabled) { this.messageType = definition_pb_1.MessageType.DELAY; return; } // Transaction message. if (!this.messageGroup && !this.deliveryTimestamp && txEnabled) { this.messageType = definition_pb_1.MessageType.TRANSACTION; return; } // Transaction semantics is conflicted with fifo/delay. throw new TypeError('Transactional message should not set messageGroup or deliveryTimestamp'); } /** * This method should be invoked before each message sending, because the born time is reset before each * invocation, which means that it should not be invoked ahead of time. */ toProtobuf(namespace, mq) { const systemProperties = new definition_pb_1.SystemProperties() .setKeysList(this.keys) .setMessageId(this.messageId) .setBornTimestamp(timestamp_pb_1.Timestamp.fromDate(new Date())) .setBornHost(client_1.UserAgent.INSTANCE.hostname) .setBodyEncoding(definition_pb_1.Encoding.IDENTITY) .setQueueId(mq.queueId) .setMessageType(this.messageType); if (this.tag) { systemProperties.setTag(this.tag); } if (this.deliveryTimestamp) { systemProperties.setDeliveryTimestamp(timestamp_pb_1.Timestamp.fromDate(this.deliveryTimestamp)); } if (this.messageGroup) { systemProperties.setMessageGroup(this.messageGroup); } const resource = (0, util_1.createResource)(this.topic); resource.setResourceNamespace(namespace); const message = new definition_pb_1.Message() .setTopic(resource) .setBody(this.body) .setSystemProperties(systemProperties); if (this.properties) { const userProperties = message.getUserPropertiesMap(); for (const [key, value] of this.properties.entries()) { userProperties.set(key, value); } } return message; } } exports.PublishingMessage = PublishingMessage; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHVibGlzaGluZ01lc3NhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbWVzc2FnZS9QdWJsaXNoaW5nTWVzc2FnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHOzs7QUFFSCwrRUFBeUU7QUFDekUsZ0ZBRXNEO0FBRXRELGtDQUF5QztBQUV6QyxzQ0FBc0M7QUFDdEMsdUNBQW9EO0FBQ3BELDJDQUErQztBQUUvQyxNQUFhLGlCQUFrQixTQUFRLGlCQUFPO0lBQ25DLFNBQVMsQ0FBUztJQUNsQixXQUFXLENBQWM7SUFFbEMsWUFBWSxPQUF1QixFQUFFLGtCQUFzQyxFQUFFLFNBQWtCO1FBQzdGLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNmLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ2hDLE1BQU0sZ0JBQWdCLEdBQUcsa0JBQWtCLENBQUMsZ0JBQWdCLENBQUM7UUFDN0QsSUFBSSxNQUFNLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQztZQUM5QixNQUFNLElBQUksU0FBUyxDQUFDLHFEQUFxRCxnQkFBZ0IsUUFBUSxDQUFDLENBQUM7UUFDckcsQ0FBQztRQUNELHVCQUF1QjtRQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLDRCQUFnQixDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3RELGtCQUFrQjtRQUNsQixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2hFLElBQUksQ0FBQyxXQUFXLEdBQUcsMkJBQVcsQ0FBQyxNQUFNLENBQUM7WUFDdEMsT0FBTztRQUNULENBQUM7UUFDRCxnQkFBZ0I7UUFDaEIsSUFBSSxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLFdBQVcs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