Skip to content

Commit 276bebd

Browse files
authored
Dev/sign host (#200)
* fix: 优化 host 签名逻辑 * fix: md5.js 去掉兼容 nodejs 逻辑
1 parent bbe7a79 commit 276bebd

File tree

5 files changed

+9
-102
lines changed

5 files changed

+9
-102
lines changed

dist/cos-js-sdk-v5.js

Lines changed: 5 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -2119,22 +2119,18 @@ module.exports = function (obj, options) {
21192119
/*! no static exports found */
21202120
/***/ (function(module, exports, __webpack_require__) {
21212121

2122-
/* WEBPACK VAR INJECTION */(function(process, global, module) {var __WEBPACK_AMD_DEFINE_RESULT__;var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "./node_modules/@babel/runtime/helpers/typeof.js");
2122+
/* WEBPACK VAR INJECTION */(function(module) {var __WEBPACK_AMD_DEFINE_RESULT__;var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "./node_modules/@babel/runtime/helpers/typeof.js");
21232123
/* https://github.com/emn178/js-md5 */
21242124
(function () {
21252125
'use strict';
21262126

2127-
var ERROR = 'input is invalid type';
21282127
var WINDOW = (typeof window === "undefined" ? "undefined" : _typeof(window)) === 'object';
21292128
var root = WINDOW ? window : {};
21302129
if (root.JS_MD5_NO_WINDOW) {
21312130
WINDOW = false;
21322131
}
21332132
var WEB_WORKER = !WINDOW && (typeof self === "undefined" ? "undefined" : _typeof(self)) === 'object';
2134-
var NODE_JS = !root.JS_MD5_NO_NODE_JS && (typeof process === "undefined" ? "undefined" : _typeof(process)) === 'object' && process.versions && process.versions.node;
2135-
if (NODE_JS) {
2136-
root = global;
2137-
} else if (WEB_WORKER) {
2133+
if (WEB_WORKER) {
21382134
root = self;
21392135
}
21402136
var COMMON_JS = !root.JS_MD5_NO_COMMON_JS && ( false ? undefined : _typeof(module)) === 'object' && module.exports;
@@ -2248,9 +2244,6 @@ module.exports = function (obj, options) {
22482244
*/
22492245
var createMethod = function createMethod() {
22502246
var method = createOutputMethod('hex');
2251-
if (NODE_JS) {
2252-
method = nodeWrap(method);
2253-
}
22542247
method.getCtx = method.create = function () {
22552248
return new Md5();
22562249
};
@@ -2263,27 +2256,6 @@ module.exports = function (obj, options) {
22632256
}
22642257
return method;
22652258
};
2266-
var nodeWrap = function nodeWrap(method) {
2267-
var crypto = eval("require('crypto')");
2268-
var Buffer = eval("require('buffer').Buffer");
2269-
var nodeMethod = function nodeMethod(message) {
2270-
if (typeof message === 'string') {
2271-
return crypto.createHash('md5').update(message, 'utf8').digest('hex');
2272-
} else {
2273-
if (message === null || message === undefined) {
2274-
throw ERROR;
2275-
} else if (message.constructor === ArrayBuffer) {
2276-
message = new Uint8Array(message);
2277-
}
2278-
}
2279-
if (Array.isArray(message) || ArrayBuffer.isView(message) || message.constructor === Buffer) {
2280-
return crypto.createHash('md5').update(new Buffer(message)).digest('hex');
2281-
} else {
2282-
return method(message);
2283-
}
2284-
};
2285-
return nodeMethod;
2286-
};
22872259

22882260
/**
22892261
* Md5 class
@@ -2738,7 +2710,7 @@ module.exports = function (obj, options) {
27382710
}
27392711
}
27402712
})();
2741-
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../node_modules/process/browser.js */ "./node_modules/process/browser.js"), __webpack_require__(/*! ./../node_modules/webpack/buildin/global.js */ "./node_modules/webpack/buildin/global.js"), __webpack_require__(/*! ./../node_modules/webpack/buildin/module.js */ "./node_modules/webpack/buildin/module.js")(module)))
2713+
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../node_modules/webpack/buildin/module.js */ "./node_modules/webpack/buildin/module.js")(module)))
27422714

27432715
/***/ }),
27442716

@@ -8614,37 +8586,6 @@ module.exports = __webpack_amd_options__;
86148586

86158587
/* WEBPACK VAR INJECTION */}.call(this, {}))
86168588

8617-
/***/ }),
8618-
8619-
/***/ "./node_modules/webpack/buildin/global.js":
8620-
/*!***********************************!*\
8621-
!*** (webpack)/buildin/global.js ***!
8622-
\***********************************/
8623-
/*! no static exports found */
8624-
/***/ (function(module, exports) {
8625-
8626-
var g;
8627-
8628-
// This works in non-strict mode
8629-
g = (function() {
8630-
return this;
8631-
})();
8632-
8633-
try {
8634-
// This works if eval is allowed (see CSP)
8635-
g = g || new Function("return this")();
8636-
} catch (e) {
8637-
// This works if the window reference is available
8638-
if (typeof window === "object") g = window;
8639-
}
8640-
8641-
// g can still be undefined, but nothing to do about it...
8642-
// We return undefined, instead of nothing here, so it's
8643-
// easier to handle this case. if(!global) { ...}
8644-
8645-
module.exports = g;
8646-
8647-
86488589
/***/ }),
86498590

86508591
/***/ "./node_modules/webpack/buildin/module.js":
@@ -8687,7 +8628,7 @@ module.exports = function(module) {
86878628
/*! exports provided: name, version, description, main, types, scripts, repository, keywords, author, license, bugs, homepage, dependencies, devDependencies, default */
86888629
/***/ (function(module) {
86898630

8690-
module.exports = JSON.parse("{\"name\":\"cos-js-sdk-v5\",\"version\":\"1.4.22\",\"description\":\"JavaScript SDK for [腾讯云对象存储](https://cloud.tencent.com/product/cos)\",\"main\":\"dist/cos-js-sdk-v5.js\",\"types\":\"index.d.ts\",\"scripts\":{\"prettier\":\"prettier --write src demo/demo.js demo/CIDemos/*.js test/test.js server/sts.js index.d.ts\",\"server\":\"node server/sts.js\",\"dev\":\"cross-env NODE_ENV=development webpack -w --mode=development\",\"build\":\"cross-env NODE_ENV=production webpack --mode=production\",\"cos-auth.min.js\":\"uglifyjs ./demo/common/cos-auth.js -o ./demo/common/cos-auth.min.js -c -m\",\"test\":\"jest --runInBand --coverage\"},\"repository\":{\"type\":\"git\",\"url\":\"git+https://github.com/tencentyun/cos-js-sdk-v5.git\"},\"keywords\":[],\"author\":\"carsonxu\",\"license\":\"ISC\",\"bugs\":{\"url\":\"https://github.com/tencentyun/cos-js-sdk-v5/issues\"},\"homepage\":\"https://github.com/tencentyun/cos-js-sdk-v5#readme\",\"dependencies\":{\"@xmldom/xmldom\":\"^0.8.6\"},\"devDependencies\":{\"@babel/core\":\"7.17.9\",\"@babel/plugin-transform-runtime\":\"7.18.10\",\"@babel/preset-env\":\"7.16.11\",\"babel-loader\":\"8.2.5\",\"body-parser\":\"^1.18.3\",\"cross-env\":\"^5.2.0\",\"express\":\"^4.16.4\",\"jest\":\"^29.3.1\",\"jest-environment-jsdom\":\"^29.3.1\",\"prettier\":\"^3.0.1\",\"qcloud-cos-sts\":\"^3.0.2\",\"request\":\"^2.87.0\",\"terser-webpack-plugin\":\"4.2.3\",\"uglifyjs\":\"^2.4.11\",\"webpack\":\"4.46.0\",\"webpack-cli\":\"4.10.0\"}}");
8631+
module.exports = JSON.parse("{\"name\":\"cos-js-sdk-v5\",\"version\":\"1.5.0\",\"description\":\"JavaScript SDK for [腾讯云对象存储](https://cloud.tencent.com/product/cos)\",\"main\":\"dist/cos-js-sdk-v5.js\",\"types\":\"index.d.ts\",\"scripts\":{\"prettier\":\"prettier --write src demo/demo.js demo/CIDemos/*.js test/test.js server/sts.js index.d.ts\",\"server\":\"node server/sts.js\",\"dev\":\"cross-env NODE_ENV=development webpack -w --mode=development\",\"build\":\"cross-env NODE_ENV=production webpack --mode=production\",\"cos-auth.min.js\":\"uglifyjs ./demo/common/cos-auth.js -o ./demo/common/cos-auth.min.js -c -m\",\"test\":\"jest --runInBand --coverage\"},\"repository\":{\"type\":\"git\",\"url\":\"git+https://github.com/tencentyun/cos-js-sdk-v5.git\"},\"keywords\":[],\"author\":\"carsonxu\",\"license\":\"ISC\",\"bugs\":{\"url\":\"https://github.com/tencentyun/cos-js-sdk-v5/issues\"},\"homepage\":\"https://github.com/tencentyun/cos-js-sdk-v5#readme\",\"dependencies\":{\"@xmldom/xmldom\":\"^0.8.6\"},\"devDependencies\":{\"@babel/core\":\"7.17.9\",\"@babel/plugin-transform-runtime\":\"7.18.10\",\"@babel/preset-env\":\"7.16.11\",\"babel-loader\":\"8.2.5\",\"body-parser\":\"^1.18.3\",\"cross-env\":\"^5.2.0\",\"express\":\"^4.16.4\",\"jest\":\"^29.3.1\",\"jest-environment-jsdom\":\"^29.3.1\",\"prettier\":\"^3.0.1\",\"qcloud-cos-sts\":\"^3.0.2\",\"request\":\"^2.87.0\",\"terser-webpack-plugin\":\"4.2.3\",\"uglifyjs\":\"^2.4.11\",\"webpack\":\"4.46.0\",\"webpack-cli\":\"4.10.0\"}}");
86918632

86928633
/***/ }),
86938634

@@ -13372,9 +13313,7 @@ var getSignHost = function getSignHost(opt) {
1337213313
region: useAccelerate ? 'accelerate' : opt.Region
1337313314
});
1337413315
var urlHost = url.replace(/^https?:\/\/([^/]+)(\/.*)?$/, '$1');
13375-
var standardHostReg = new RegExp('^([a-z\\d-]+-\\d+\\.)?(cos|cosv6|ci|pic)\\.([a-z\\d-]+)\\.myqcloud\\.com$');
13376-
if (standardHostReg.test(urlHost)) return urlHost;
13377-
return '';
13316+
return urlHost;
1337813317
};
1337913318

1338013319
// 异步获取签名

dist/cos-js-sdk-v5.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/md5.js

Lines changed: 1 addition & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,13 @@
22
(function () {
33
'use strict';
44

5-
var ERROR = 'input is invalid type';
65
var WINDOW = typeof window === 'object';
76
var root = WINDOW ? window : {};
87
if (root.JS_MD5_NO_WINDOW) {
98
WINDOW = false;
109
}
1110
var WEB_WORKER = !WINDOW && typeof self === 'object';
12-
var NODE_JS = !root.JS_MD5_NO_NODE_JS && typeof process === 'object' && process.versions && process.versions.node;
13-
if (NODE_JS) {
14-
root = global;
15-
} else if (WEB_WORKER) {
11+
if (WEB_WORKER) {
1612
root = self;
1713
}
1814
var COMMON_JS = !root.JS_MD5_NO_COMMON_JS && typeof module === 'object' && module.exports;
@@ -128,9 +124,6 @@
128124
*/
129125
var createMethod = function () {
130126
var method = createOutputMethod('hex');
131-
if (NODE_JS) {
132-
method = nodeWrap(method);
133-
}
134127
method.getCtx = method.create = function () {
135128
return new Md5();
136129
};
@@ -144,29 +137,6 @@
144137
return method;
145138
};
146139

147-
var nodeWrap = function (method) {
148-
var crypto = eval("require('crypto')");
149-
var Buffer = eval("require('buffer').Buffer");
150-
var nodeMethod = function (message) {
151-
if (typeof message === 'string') {
152-
return crypto.createHash('md5').update(message, 'utf8').digest('hex');
153-
} else {
154-
if (message === null || message === undefined) {
155-
throw ERROR;
156-
} else if (message.constructor === ArrayBuffer) {
157-
message = new Uint8Array(message);
158-
}
159-
}
160-
if (Array.isArray(message) || ArrayBuffer.isView(message) ||
161-
message.constructor === Buffer) {
162-
return crypto.createHash('md5').update(new Buffer(message)).digest('hex');
163-
} else {
164-
return method(message);
165-
}
166-
};
167-
return nodeMethod;
168-
};
169-
170140
/**
171141
* Md5 class
172142
* @class Md5

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "cos-js-sdk-v5",
3-
"version": "1.4.22",
3+
"version": "1.5.0",
44
"description": "JavaScript SDK for [腾讯云对象存储](https://cloud.tencent.com/product/cos)",
55
"main": "dist/cos-js-sdk-v5.js",
66
"types": "index.d.ts",

src/base.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3585,9 +3585,7 @@ var getSignHost = function (opt) {
35853585
region: useAccelerate ? 'accelerate' : opt.Region,
35863586
});
35873587
var urlHost = url.replace(/^https?:\/\/([^/]+)(\/.*)?$/, '$1');
3588-
var standardHostReg = new RegExp('^([a-z\\d-]+-\\d+\\.)?(cos|cosv6|ci|pic)\\.([a-z\\d-]+)\\.myqcloud\\.com$');
3589-
if (standardHostReg.test(urlHost)) return urlHost;
3590-
return '';
3588+
return urlHost;
35913589
};
35923590

35933591
// 异步获取签名

0 commit comments

Comments
 (0)