gc_rsa 1.2.2 → 1.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,9 +0,0 @@
1
- import _ from "lodash";
2
-
3
- export default (req, responseCallback, resType) => {
4
- fetch(req.url, req)
5
- .then(response => response.json())
6
- .then(res => {
7
- responseCallback({ statusCode: 200, responseText: res });
8
- });
9
- };
@@ -1,19 +0,0 @@
1
- import fly from "flyio";
2
-
3
- export default (request, responseCallback) => {
4
- fly
5
- .request(request.url, request.data, request)
6
- .then(function(d) {
7
- responseCallback({
8
- statusCode: d.engine.status,
9
- responseText: d.engine.responseText,
10
- statusMessage: d.engine.statusText
11
- });
12
- })
13
- .catch(function(err) {
14
- responseCallback({
15
- statusCode: err.status,
16
- statusMessage: err.message
17
- });
18
- });
19
- };
@@ -1,5 +0,0 @@
1
- import uniAdapter from "./uni";
2
- import wxAdapter from "./wx";
3
- import fetchAdapter from "./fetch";
4
- import flyAdapter from "./fly";
5
- export default { uniAdapter, wxAdapter, fetchAdapter, flyAdapter };
@@ -1,23 +0,0 @@
1
- export default (req, responseCallback) => {
2
- uni.request({
3
- method: req.method,
4
- url: req.url,
5
- header: req.headers,
6
- dataType: req.dataType || "json",
7
- data: req.body || {},
8
- success(res) {
9
- responseCallback({
10
- statusCode: res.statusCode,
11
- responseText: res.data,
12
- headers: res.header,
13
- statusMessage: res.errMsg
14
- });
15
- },
16
- fail(res) {
17
- responseCallback({
18
- statusCode: res.statusCode || 0,
19
- statusMessage: res.errMsg
20
- });
21
- }
22
- });
23
- };
package/src/adapter/wx.js DELETED
@@ -1,23 +0,0 @@
1
- export default (req, responseCallback) => {
2
- wx.request({
3
- method: req.method,
4
- url: req.url,
5
- header: req.headers,
6
- dataType: req.dataType || "text",
7
- data: req.body || {},
8
- success(res) {
9
- responseCallback({
10
- statusCode: res.statusCode,
11
- responseText: res.data,
12
- headers: res.header,
13
- statusMessage: res.errMsg
14
- });
15
- },
16
- fail(res) {
17
- responseCallback({
18
- statusCode: res.statusCode || 0,
19
- statusMessage: res.errMsg
20
- });
21
- }
22
- });
23
- };
package/src/index.js DELETED
@@ -1,50 +0,0 @@
1
- import fly from "flyio";
2
- import EngineWrapper from "flyio/dist/npm/engine-wrapper";
3
- import _ from "lodash";
4
- import signature from "./lib/signature";
5
- import adapter from "./adapter";
6
-
7
- // 主函数
8
- const rsa = (
9
- options = {
10
- appkey: "25396816",
11
- appsecret: "ba09305bef13bf8c17ace9987c66326f",
12
- engineType: "fly", //底层请求库
13
- adapter: "fetch" //请求适配器
14
- }
15
- ) => {
16
- fly.engine = XMLHttpRequest;
17
-
18
- var engine = EngineWrapper((request, responseCallback) => {
19
- try {
20
- let flag = false;
21
-
22
- if (options.exclude) {
23
- for (let index = 0; index < options.exclude.length; index++) {
24
- const element = options.exclude[index];
25
- if (request.url.indexOf(element) > -1) {
26
- flag = true;
27
- }
28
- }
29
- }
30
- const ad = `${options.adapter ? options.adapter : "fetch"}Adapter`;
31
- adapter[ad](
32
- flag || request.headers.noSign ? request : signature(request, options),
33
- responseCallback
34
- );
35
- } catch (error) {
36
- console.warn(error);
37
- }
38
- });
39
- //覆盖默认
40
- if (options.engineType == "fly") {
41
- fly.engine = engine;
42
- } else {
43
- XMLHttpRequest = engine;
44
- }
45
- };
46
- if (typeof window !== "undefined") {
47
- console.log("window");
48
- window.gc_rsa = rsa;
49
- }
50
- export default rsa;
package/src/lib/crypto.js DELETED
@@ -1,18 +0,0 @@
1
- import { createHmac, createHash } from "crypto-browserify";
2
- import _ from "lodash";
3
-
4
- const sign = (str, secret) => {
5
- return createHmac("sha256", secret)
6
- .update(str, "utf8")
7
- .digest("base64");
8
- };
9
-
10
- const md5Content = data => {
11
- return !_.isEmpty(data)
12
- ? createHash("md5")
13
- .update(data, "utf-8")
14
- .digest("base64")
15
- : "";
16
- };
17
-
18
- export default { sign, md5Content };
@@ -1,77 +0,0 @@
1
- import qs from "qs";
2
- import _ from "lodash";
3
- import urlTool from "url";
4
- import crypto from "./crypto";
5
- import sort from "./sort";
6
- import transformHeaders from "./transformHeaders";
7
-
8
- const FormHeader = "application/x-www-form-urlencoded";
9
- const signature = (request, { appkey, appsecret, engineType }) => {
10
- try {
11
- if (appkey && appsecret) {
12
- const { method, headers, url } = request;
13
- const { Accept } = headers;
14
- const urlParsed = urlTool.parse(url, true),
15
- queryObject = urlParsed.query;
16
-
17
- let contentMD5 = "",
18
- query = qs.stringify(sort(queryObject), { strictNullHandling: true });
19
- console.log("=============query=======================");
20
- console.log(query);
21
- console.log("====================================");
22
- //如果没有content-type 默认加上application/json
23
- if (!headers["Content-Type"]) {
24
- headers["Content-Type"] = "application/json";
25
- }
26
- //如果没有 Accept 默认加上 */*
27
- if (!headers["Accept"]) {
28
- headers["Accept"] = "*/*";
29
- }
30
- //如果不是Form提交 对content签名
31
- if (request.body && headers["Content-Type"].indexOf(FormHeader) === -1) {
32
- contentMD5 = crypto.md5Content(request.body);
33
- headers["Content-MD5"] = contentMD5;
34
- } else {
35
- //如果是Form表单提交
36
- const formObject = request.body;
37
- if (_.isObject(formObject)) {
38
- _.map(formObject, (value, key) => {
39
- queryObject[key] = value;
40
- });
41
- }
42
- if (_.isString(formObject)) {
43
- query += "&" + formObject;
44
- }
45
- }
46
- const urlPath = _.isEmpty(query)
47
- ? urlParsed.pathname
48
- : urlParsed.pathname + "?" + query;
49
- const ContentType = headers["Content-Type"]
50
- ? headers["Content-Type"]
51
- : "";
52
- headers["X-Gw-Key"] = appkey;
53
- headers["X-Gw-Timestamp"] = _.now();
54
- headers["X-Gw-Nonce"] = _.random(1000000000000, 9999999999999);
55
- const stringToSign = `${method}\n${
56
- Accept ? Accept : "*/*"
57
- }\n${contentMD5}\n${ContentType}\n\n${
58
- transformHeaders(headers).transformHeader
59
- }${decodeURIComponent(urlPath)}`;
60
- console.log("==============", urlPath, "======================");
61
- console.log(stringToSign);
62
- console.log("==============", urlPath, "======================");
63
- headers["X-Gw-Signature"] = crypto.sign(stringToSign, appsecret);
64
- headers["X-Gw-Signature-Headers"] = transformHeaders(
65
- headers
66
- ).transformHeaderKeys;
67
-
68
- return request;
69
- } else {
70
- console.warn("检查appkey和appsecret");
71
- }
72
- } catch (error) {
73
- console.log("error", error);
74
- }
75
- };
76
-
77
- export default signature;
package/src/lib/sort.js DELETED
@@ -1,17 +0,0 @@
1
- import _ from "lodash";
2
- export default obj => {
3
- const sortArr = _.sortBy(Object.keys(obj));
4
- let returnObect = {};
5
- _.map(sortArr, key => {
6
- if (_.isEmpty(obj[key])) {
7
- returnObect[key]=null
8
- } else {
9
- if (_.isArray(obj[key])) {
10
- returnObect[key] = obj[key][0];
11
- } else {
12
- returnObect[key] = obj[key];
13
- }
14
- }
15
- });
16
- return returnObect;
17
- };
@@ -1,42 +0,0 @@
1
- import _ from "lodash";
2
- export default obj => {
3
- //不加入签名 需要排除的数组
4
- const excludes = [
5
- "X-Gw-Signature",
6
- "X-Gw-Signature-headers",
7
- "Accept",
8
- "Content-MD5",
9
- "Content-Type",
10
- "Date"
11
- ];
12
- let transformHeader = "",
13
- transformHeaderKeys = "",
14
- first = true;
15
-
16
- _.chain(obj)
17
- .keys(obj)
18
- .map(value => {
19
- return (
20
- //排除上面的已经存在的各种header
21
- !_.includes(excludes, value) && {
22
- value: obj[value],
23
- key: _.toLower(value)
24
- }
25
- );
26
- })
27
- .compact()
28
- .sortBy(value => {
29
- return value.key;
30
- })
31
- .forEach(item => {
32
- transformHeader += `${item["key"]}:${item["value"]}\n`;
33
- if (first) {
34
- transformHeaderKeys += item["key"];
35
- } else {
36
- transformHeaderKeys += "," + item["key"];
37
- }
38
- first = false;
39
- })
40
- .value();
41
- return { transformHeader, transformHeaderKeys };
42
- };