UNPKG

qrcode-framework

Version:

74 lines 6.56 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const crypto_1 = require("crypto"); const http_1 = require("http"); // tslint:disable-next-line:no-var-requires const uuidV1 = require('uuid/v1'); class Checker { static async check(bizCfg) { const path = bizCfg.path; const clientInfo = bizCfg.clientInfo; const requestBody = bizCfg.requestBody; const greenVersion = bizCfg.greenVersion; const hostname = bizCfg.hostname; const gmtCreate = new Date().toUTCString(); const md5 = crypto_1.createHash('md5'); // 请求头 const requestHeaders = { 'Accept': 'application/json', 'Content-Type': 'application/json', 'Content-MD5': md5.update(requestBody).digest().toString('base64'), 'Date': gmtCreate, 'x-acs-version': greenVersion, 'x-acs-signature-nonce': uuidV1(), 'x-acs-signature-version': '1.0', 'x-acs-signature-method': 'HMAC-SHA1', }; // 对请求的签名 Checker.signature(requestHeaders, bizCfg); // HTTP请求设置 const options = { hostname, port: 80, path: encodeURI(path + '?clientInfo=' + JSON.stringify(clientInfo)), method: 'POST', headers: requestHeaders, }; return new Promise((resolve, reject) => { const req = http_1.request(options, (res) => { res.setEncoding('utf8'); res.on('data', (chunk) => { resolve(chunk); }); res.on('error', (err) => { reject(err); }); }); req.write(requestBody); req.end(); }); } static signature(requestHeaders, bizCfg) { const accessKeyId = bizCfg.accessKeyId; const accessKeySecret = bizCfg.accessKeySecret; const path = bizCfg.path; const clientInfo = bizCfg.clientInfo; const signature = []; signature.push('POST\n'); signature.push('application/json\n'); signature.push(requestHeaders['Content-MD5'] + '\n'); signature.push('application/json\n'); signature.push(requestHeaders.Date + '\n'); signature.push('x-acs-signature-method:HMAC-SHA1\n'); signature.push('x-acs-signature-nonce:' + requestHeaders['x-acs-signature-nonce'] + '\n'); signature.push('x-acs-signature-version:1.0\n'); signature.push('x-acs-version:' + bizCfg.greenVersion + '\n'); signature.push(path + '?clientInfo=' + JSON.stringify(clientInfo)); const authorization = crypto_1.createHmac('sha1', accessKeySecret) .update(signature.join('')) .digest().toString('base64'); requestHeaders.Authorization = 'acs ' + accessKeyId + ':' + authorization; } } exports.default = Checker; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWxpeXVuQ2hlY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJBbGl5dW5DaGVjay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLG1DQUFnRDtBQUNoRCwrQkFBK0I7QUFDL0IsMkNBQTJDO0FBQzNDLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUVsQyxNQUFxQixPQUFPO0lBQ2pCLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQVc7UUFDakMsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztRQUN6QixNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDO1FBQ3JDLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUM7UUFDdkMsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQztRQUN6QyxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBQ2pDLE1BQU0sU0FBUyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDM0MsTUFBTSxHQUFHLEdBQUcsbUJBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU5QixNQUFNO1FBQ04sTUFBTSxjQUFjLEdBQUc7WUFDbkIsUUFBUSxFQUFFLGtCQUFrQjtZQUM1QixjQUFjLEVBQUUsa0JBQWtCO1lBQ2xDLGFBQWEsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7WUFDbEUsTUFBTSxFQUFFLFNBQVM7WUFDakIsZUFBZSxFQUFFLFlBQVk7WUFDN0IsdUJBQXVCLEVBQUUsTUFBTSxFQUFFO1lBQ2pDLHlCQUF5QixFQUFFLEtBQUs7WUFDaEMsd0JBQXdCLEVBQUUsV0FBVztTQUN4QyxDQUFDO1FBRUYsU0FBUztRQUNULE9BQU8sQ0FBQyxTQUFTLENBQUMsY0FBYyxFQUFFLE1BQU0sQ0FB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