UNPKG

rocketmq-client-nodejs-beta

Version:
88 lines 6.52 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. */ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.MASTER_BROKER_ID = void 0; exports.getTimestamp = getTimestamp; exports.getRequestDateTime = getRequestDateTime; exports.sign = sign; exports.createDuration = createDuration; exports.createResource = createResource; exports.crc32CheckSum = crc32CheckSum; exports.md5CheckSum = md5CheckSum; exports.sha1CheckSum = sha1CheckSum; exports.calculateStringSipHash24 = calculateStringSipHash24; const node_perf_hooks_1 = require("node:perf_hooks"); const node_crypto_1 = require("node:crypto"); const duration_pb_1 = require("google-protobuf/google/protobuf/duration_pb"); const crc32_1 = require("@node-rs/crc32"); const siphash24_1 = __importDefault(require("siphash24")); const definition_pb_1 = require("../../proto/apache/rocketmq/v2/definition_pb"); exports.MASTER_BROKER_ID = 0; function getTimestamp() { const timestamp = node_perf_hooks_1.performance.timeOrigin + node_perf_hooks_1.performance.now(); const seconds = Math.floor(timestamp / 1000); const nanos = Math.floor((timestamp % 1000) * 1e6); return { seconds, nanos, timestamp }; } // DATE_TIME_FORMAT = "yyyyMMdd'T'HHmmss'Z'" function getRequestDateTime() { // 2023-09-13T06:30:59.399Z => 20230913T063059Z const now = new Date().toISOString().split('.')[0].replace(/[\-\:]/g, ''); return `${now}Z`; } function sign(accessSecret, dateTime) { const hmacSha1 = (0, node_crypto_1.createHmac)('sha1', accessSecret); hmacSha1.update(dateTime); return hmacSha1.digest('hex').toUpperCase(); } function createDuration(ms) { const nanos = ms % 1000 * 1000000; return new duration_pb_1.Duration() .setSeconds(ms / 1000) .setNanos(nanos); } function createResource(name) { return new definition_pb_1.Resource().setName(name); } function crc32CheckSum(bytes) { return `${(0, crc32_1.crc32)(bytes)}`; } function md5CheckSum(bytes) { return (0, node_crypto_1.createHash)('md5').update(bytes).digest('hex') .toUpperCase(); } function sha1CheckSum(bytes) { return (0, node_crypto_1.createHash)('sha1').update(bytes).digest('hex') .toUpperCase(); } // k0: 0x0706050403020100L, k1: 0x0f0e0d0c0b0a0908L const SIP_HASH_24_KEY = Buffer.from([ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, ]); /** * Java: Hashing.sipHash24().hashBytes(messageGroup.getBytes(StandardCharsets.UTF_8)).asLong() */ function calculateStringSipHash24(value) { const hash = (0, siphash24_1.default)(Buffer.from(value), SIP_HASH_24_KEY); return Buffer.from(hash).readBigUInt64BE(); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHOzs7Ozs7QUFXSCxvQ0FLQztBQUdELGdEQUlDO0FBRUQsb0JBSUM7QUFFRCx3Q0FLQztBQUVELHdDQUVDO0FBRUQsc0NBRUM7QUFFRCxrQ0FHQztBQUVELG9DQUdDO0FBVUQsNERBR0M7QUFqRUQscURBQThDO0FBQzlDLDZDQUFxRDtBQUNyRCw2RUFBdUU7QUFDdkUsMENBQXVDO0FBQ3ZDLDBEQUFrQztBQUNsQyxnRkFBd0U7QUFFM0QsUUFBQSxnQkFBZ0IsR0FBRyxDQUFDLENBQUM7QUFFbEMsU0FBZ0IsWUFBWTtJQUMxQixNQUFNLFNBQVMsR0FBRyw2QkFBVyxDQUFDLFVBQVUsR0FBRyw2QkFBVyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQzdELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQzdDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFDbkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUM7QUFDdkMsQ0FBQztBQUVELDRDQUE0QztBQUM1QyxTQUFnQixrQkFBa0I7SUFDaEMsK0NBQStDO0lBQy9DLE1BQU0sR0FBRyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDMUUsT0FBTyxHQUFHLEdBQUcsR0FBRyxDQUFDO0FBQ25CLENBQUM7QUFFRCxTQUFnQixJQUFJLENBQUMsWUFBb0IsRUFBRSxRQUFnQjtJQUN6RCxNQUFNLFFBQVEsR0FBRyxJQUFBLHdCQUFVLEVBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ2xELFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDMUIsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO0FBQzlDLENBQUM7QUFFRCxTQUFnQixjQUFjLENBQUMsRUFBVTtJQUN2QyxNQUFNLEtBQUssR0FBRyxFQUFFLEdBQUcsSUFBSSxHQUFHLE9BQU8sQ0FBQztJQUNsQyxPQUFPLElBQUksc0JBQVEsRUFBRTtTQUNsQixVQUFVLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQztTQUNyQixRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDckIsQ0FBQztBQUVELFNBQWdCLGNBQWMsQ0FBQyxJQUFZO0lBQ3pDLE9BQU8sSUFBSSx3QkFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3RDLENBQUM7QUFFRCxTQUFnQixhQUFhLENBQUMsS0FBYTtJQUN6QyxPQUFPLEdBQUcsSUFBQSxhQUFLLEVBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztBQUMzQixDQUFDO0FBRUQsU0FBZ0IsV0FBVyxDQUFDLEtBQWlCO0lBQzNDLE9BQU8sSUFBQSx3QkFBVSxFQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1NBQ2pELFdBQVcsRUFBRSxDQUFDO0FBQ25CLENBQUM7QUFFRCxTQUFnQixZQUFZLENBQUMsS0FBaUI7SUFDNUMsT0FBTyxJQUFBLHdCQUFVLEVBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7U0FDbEQsV0FBVyxFQUFFLENBQUM7QUFDbkIsQ0FBQztBQUVELG1EQUFtRDtBQUNuRCxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO0lBQ2xDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJO0lBQzlDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJO0NBQy9DLENBQUMsQ0FBQztBQUNIOztHQUVHO0FBQ0gsU0FBZ0Isd0JBQXdCLENBQUMsS0FBYTtJQUNwRCxNQUFNLElBQUksR0FBRyxJQUFBLG1CQUFTLEVBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxlQUFlLENBQUMsQ0FBQztJQUM1RCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7QUFDN0MsQ0FBQyJ9