@ossiana/node-libcurl 1.0.6-alpha-2 → 1.0.7-alpha-1

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.
Files changed (43) hide show
  1. package/binding.gyp +50 -4
  2. package/dist/export.d.ts +3 -0
  3. package/dist/export.js +8 -0
  4. package/dist/export.js.map +1 -0
  5. package/dist/fetch.d.ts +32 -0
  6. package/dist/fetch.js +90 -0
  7. package/dist/fetch.js.map +1 -0
  8. package/dist/index.d.ts +1 -0
  9. package/dist/index.js +18 -0
  10. package/dist/index.js.map +1 -0
  11. package/dist/libcurl.d.ts +31 -0
  12. package/dist/libcurl.js +154 -0
  13. package/dist/libcurl.js.map +1 -0
  14. package/dist/src/fetch.d.ts +6 -6
  15. package/dist/src/fetch.js +6 -6
  16. package/dist/src/fetch.js.map +1 -1
  17. package/dist/src/index.d.ts +1 -2
  18. package/dist/src/index.js +15 -2
  19. package/dist/src/index.js.map +1 -1
  20. package/dist/src/libcurl.js +7 -2
  21. package/dist/src/libcurl.js.map +1 -1
  22. package/package.json +1 -1
  23. package/src/fetch.ts +11 -11
  24. package/src/index.ts +1 -0
  25. package/src/libcurl/bao_curl.cpp +1 -1
  26. package/src/libcurl/bao_curl_node_addon.cpp +14 -14
  27. package/src/libcurl/curlAsyncWorker.cpp +13 -6
  28. package/src/libcurl/include/bao_curl.h +1 -1
  29. package/src/libcurl/include/curlAysncWorker.h +5 -3
  30. package/src/libcurl/include/request_tls_utils.h +13 -13
  31. package/src/libcurl/include/utils.h +9 -2
  32. package/src/libcurl/lib/Release/darwin/libcrypto.a +0 -0
  33. package/src/libcurl/lib/Release/darwin/libcurl.a +0 -0
  34. package/src/libcurl/lib/Release/darwin/libssl.a +0 -0
  35. package/src/libcurl/lib/Release/linux/libcrypto.a +0 -0
  36. package/src/libcurl/lib/Release/linux/libcurl.a +0 -0
  37. package/src/libcurl/lib/Release/linux/libssl.a +0 -0
  38. package/src/libcurl/lib/Release/{libcurl.dll → windows/libcurl.dll} +0 -0
  39. package/src/libcurl/lib/Release/{libcurl_imp.lib → windows/libcurl_imp.lib} +0 -0
  40. package/src/libcurl/utils.cpp +21 -19
  41. package/src/libcurl.ts +6 -2
  42. package/tsconfig.json +2 -2
  43. package/index.js +0 -1
package/binding.gyp CHANGED
@@ -5,8 +5,7 @@
5
5
  "targets": [
6
6
  {
7
7
  "target_name": "bao_curl_node_addon",
8
- "cflags!": [],
9
- "cflags_cc!": [],
8
+
10
9
  "sources": [
11
10
  "./src/libcurl/bao_curl_node_addon.cpp",
12
11
  "./src/libcurl/bao_curl.cpp",
@@ -43,7 +42,7 @@
43
42
  },
44
43
  'libraries': [
45
44
  # "<(module_root_dir)/src/libcurl/lib/Debug/libcurl-d_imp.lib"
46
- "<(module_root_dir)/src/libcurl/lib/Release/libcurl_imp.lib"
45
+ "<(module_root_dir)/src/libcurl/lib/Release/windows/libcurl_imp.lib"
47
46
  ],
48
47
  "copies": [
49
48
  # {
@@ -55,11 +54,58 @@
55
54
  {
56
55
  "destination": "<(module_root_dir)/build/Release/",
57
56
  "files": [
58
- "<(module_root_dir)/src/libcurl/lib/Release/libcurl.dll"
57
+ "<(module_root_dir)/src/libcurl/lib/Release/windows/libcurl.dll"
59
58
  ]
60
59
  }
61
60
  ]
62
61
 
62
+ }],
63
+ ['OS=="linux"', {
64
+
65
+ "configurations": {
66
+ 'Release': {
67
+ 'cflags': [ '-std=c++11', '-fexceptions', '-frtti', '-Wno-deprecated', '-Wno-unused-variable', '-Wno-unused-but-set-variable', '-Wno-maybe-uninitialized', '-Wno-sign-compare', '-Wno-reorder', '-Wno-extra', '-Wno-switch' ,'-fPIC'],
68
+ 'cflags_cc': [ '-std=c++11', '-fexceptions', '-frtti', '-Wno-deprecated', '-Wno-unused-variable', '-Wno-unused-but-set-variable', '-Wno-maybe-uninitialized', '-Wno-sign-compare', '-Wno-reorder', '-Wno-extra', '-Wno-switch','-fPIC']
69
+ },
70
+ 'Debug': {
71
+
72
+ },
73
+ },
74
+ 'libraries': [
75
+ # "<(module_root_dir)/src/libcurl/lib/Debug/libcurl-d_imp.lib"
76
+ "<(module_root_dir)/src/libcurl/lib/Release/linux/libcurl.a",
77
+ "<(module_root_dir)/src/libcurl/lib/Release/linux/libssl.a",
78
+ "<(module_root_dir)/src/libcurl/lib/Release/linux/libcrypto.a"
79
+ ],
80
+ "copies": [
81
+ # {
82
+ # "destination": "<(module_root_dir)/build/Debug/",
83
+ # "files": [
84
+ # "<(module_root_dir)/src/libcurl/lib/Debug/libcurl-d.dll"
85
+ # ]
86
+ # },
87
+ # {
88
+ # "destination": "<(module_root_dir)/build/Release/",
89
+ # "files": [
90
+ # "<(module_root_dir)/src/libcurl/lib/Release/libcurl.so"
91
+ # ]
92
+ # }
93
+ ]
94
+ }],
95
+ ['OS=="mac"', {
96
+ "configurations": {
97
+ 'Release': {
98
+ 'cflags': [ '-std=c++11', '-fexceptions', '-frtti', '-Wno-deprecated', '-Wno-unused-variable', '-Wno-unused-but-set-variable', '-Wno-maybe-uninitialized', '-Wno-sign-compare', '-Wno-reorder', '-Wno-extra', '-Wno-switch' ,'-fPIC'],
99
+ 'cflags_cc': [ '-std=c++11', '-fexceptions', '-frtti', '-Wno-deprecated', '-Wno-unused-variable', '-Wno-unused-but-set-variable', '-Wno-maybe-uninitialized', '-Wno-sign-compare', '-Wno-reorder', '-Wno-extra', '-Wno-switch','-fPIC'],
100
+ },
101
+ },
102
+ 'libraries': [
103
+ "/System/Library/Frameworks/CoreFoundation.framework",
104
+ "/System/Library/Frameworks/SystemConfiguration.framework",
105
+ "<(module_root_dir)/src/libcurl/lib/Release/darwin/libcurl.a",
106
+ "<(module_root_dir)/src/libcurl/lib/Release/darwin/libssl.a",
107
+ "<(module_root_dir)/src/libcurl/lib/Release/darwin/libcrypto.a"
108
+ ],
63
109
  }]
64
110
  ],
65
111
 
@@ -0,0 +1,3 @@
1
+ import { LibCurl } from "./libcurl";
2
+ import { fetch } from "./fetch";
3
+ export { LibCurl, fetch };
package/dist/export.js ADDED
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fetch = exports.LibCurl = void 0;
4
+ const libcurl_1 = require("./libcurl");
5
+ Object.defineProperty(exports, "LibCurl", { enumerable: true, get: function () { return libcurl_1.LibCurl; } });
6
+ const fetch_1 = require("./fetch");
7
+ Object.defineProperty(exports, "fetch", { enumerable: true, get: function () { return fetch_1.fetch; } });
8
+ //# sourceMappingURL=export.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export.js","sourceRoot":"","sources":["../src/export.ts"],"names":[],"mappings":";;;AAAA,uCAAoC;AAG3B,wFAHA,iBAAO,OAGA;AAFhB,mCAA+B;AAEb,sFAFT,aAAK,OAES"}
@@ -0,0 +1,32 @@
1
+ import { LibCurl, LibCurl_HTTP_VERSION } from "./libcurl";
2
+ type LibCurlHeadersInfo = [string, string][] | object | string;
3
+ type LibCurlBodyInfo = string | Uint8Array | any;
4
+ type LibCurlCookiesInfo = string | object;
5
+ type LibCurlHttpVersionInfo = LibCurl_HTTP_VERSION;
6
+ type LibCurlProxyWithAccountInfo = {
7
+ proxy: string;
8
+ username: string;
9
+ password: string;
10
+ };
11
+ type LibCurlProxyInfo = string | LibCurlProxyWithAccountInfo;
12
+ interface LibCurlRequestInfo {
13
+ method?: string;
14
+ headers?: LibCurlHeadersInfo;
15
+ body?: LibCurlBodyInfo;
16
+ redirect?: boolean;
17
+ cookies?: LibCurlCookiesInfo;
18
+ httpVersion?: LibCurlHttpVersionInfo;
19
+ openInnerLog?: boolean;
20
+ proxy?: LibCurlProxyInfo;
21
+ instance?: LibCurl;
22
+ }
23
+ interface LibCurlResponseInfo {
24
+ status: () => number;
25
+ arraybuffer: () => Promise<ArrayBuffer>;
26
+ text: () => Promise<string>;
27
+ json: () => Promise<object>;
28
+ jsonp: (callbackName?: string) => Promise<object>;
29
+ headers: () => Promise<string>;
30
+ }
31
+ export declare function fetch(url: string | URL, request?: LibCurlRequestInfo): Promise<LibCurlResponseInfo>;
32
+ export {};
package/dist/fetch.js ADDED
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.fetch = void 0;
13
+ const libcurl_1 = require("./libcurl");
14
+ function fetch(url, request = {}) {
15
+ return __awaiter(this, void 0, void 0, function* () {
16
+ request.instance || (request.instance = new libcurl_1.LibCurl());
17
+ const curl = request.instance;
18
+ return new Promise((resolve, reject) => {
19
+ const { method = "GET", headers = [], redirect = false, httpVersion = 0, openInnerLog = false, proxy, body, cookies } = request;
20
+ curl.open(method, url + '', true);
21
+ if (Array.isArray(headers)) {
22
+ headers.forEach(([key, value]) => {
23
+ curl.setRequestHeader(key, value);
24
+ });
25
+ }
26
+ else if (typeof headers == 'object') {
27
+ Object.keys(headers).forEach((key) => {
28
+ curl.setRequestHeader(key, headers[key]);
29
+ });
30
+ }
31
+ else {
32
+ curl.setRequestHeaders(headers);
33
+ }
34
+ if (redirect) {
35
+ curl.setRedirect(true);
36
+ }
37
+ if (httpVersion) {
38
+ curl.setHttpVersion(httpVersion);
39
+ }
40
+ if (openInnerLog) {
41
+ curl.printInnerLogger();
42
+ }
43
+ if (cookies) {
44
+ const { hostname } = new URL(url);
45
+ if (typeof cookies == 'string') {
46
+ cookies.replace(/\s+/g, '')
47
+ .split(';')
48
+ .reverse()
49
+ .map(e => e.split('=', 2))
50
+ .forEach(([key, value]) => {
51
+ curl.setCookie(key, value, hostname);
52
+ });
53
+ }
54
+ else {
55
+ Object.keys(cookies).forEach(key => {
56
+ curl.setCookie(key, cookies[key], hostname);
57
+ });
58
+ }
59
+ }
60
+ if (proxy) {
61
+ if (typeof proxy == "string") {
62
+ curl.setProxy(proxy);
63
+ }
64
+ else {
65
+ const { proxy: proxy_, username, password, } = proxy;
66
+ curl.setProxy(proxy_, username, password);
67
+ }
68
+ }
69
+ let promise;
70
+ if (body) {
71
+ promise = curl.send(body);
72
+ }
73
+ else {
74
+ promise = curl.send();
75
+ }
76
+ promise.then(() => {
77
+ resolve({
78
+ status: () => curl.getResponseStatus(),
79
+ arraybuffer: () => __awaiter(this, void 0, void 0, function* () { return curl.getResponseBody().buffer; }),
80
+ text: () => __awaiter(this, void 0, void 0, function* () { return curl.getResponseString(); }),
81
+ json: () => __awaiter(this, void 0, void 0, function* () { return curl.getResponseJson(); }),
82
+ jsonp: (callbackName) => __awaiter(this, void 0, void 0, function* () { return curl.getResponseJsonp(callbackName); }),
83
+ headers: () => __awaiter(this, void 0, void 0, function* () { return curl.getResponseHeaders(); }),
84
+ });
85
+ });
86
+ });
87
+ });
88
+ }
89
+ exports.fetch = fetch;
90
+ //# sourceMappingURL=fetch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from './export';
package/dist/index.js ADDED
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./export"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAwB"}
@@ -0,0 +1,31 @@
1
+ export declare enum LibCurl_HTTP_VERSION {
2
+ http1_1 = 0,
3
+ http2 = 1
4
+ }
5
+ export declare class LibCurl {
6
+ private m_libCurl_impl_;
7
+ private m_isAsync_;
8
+ private m_isSending_;
9
+ constructor();
10
+ private checkSending;
11
+ open(method: string, url: string, async?: boolean): void;
12
+ setRequestHeader(key: string, value: string): void;
13
+ setRequestHeaders(headers: string): void;
14
+ setProxy(proxy: string, username?: string, password?: string): void;
15
+ setTimeout(connectTime: number, sendTime: number): void;
16
+ setCookie(key: string, value: string, domain: string): void;
17
+ removeCookie(key: string, domain: string): void;
18
+ getCookies(): string;
19
+ getCookie(key: string): string;
20
+ getResponseHeaders(): string;
21
+ getResponseStatus(): number;
22
+ reset(): void;
23
+ setRedirect(isAllow: boolean): void;
24
+ printInnerLogger(): void;
25
+ setHttpVersion(version: LibCurl_HTTP_VERSION): void;
26
+ send(body?: string | Uint8Array | any): Promise<undefined> | undefined;
27
+ getResponseBody(): Uint8Array;
28
+ getResponseString(): string;
29
+ getResponseJson(): Object;
30
+ getResponseJsonp(callbackName?: string): Object;
31
+ }
@@ -0,0 +1,154 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.LibCurl = exports.LibCurl_HTTP_VERSION = void 0;
7
+ const bindings_1 = __importDefault(require("bindings"));
8
+ const { BaoLibCurl } = (0, bindings_1.default)('bao_curl_node_addon');
9
+ var LibCurl_HTTP_VERSION;
10
+ (function (LibCurl_HTTP_VERSION) {
11
+ LibCurl_HTTP_VERSION[LibCurl_HTTP_VERSION["http1_1"] = 0] = "http1_1";
12
+ LibCurl_HTTP_VERSION[LibCurl_HTTP_VERSION["http2"] = 1] = "http2";
13
+ })(LibCurl_HTTP_VERSION = exports.LibCurl_HTTP_VERSION || (exports.LibCurl_HTTP_VERSION = {}));
14
+ class LibCurl {
15
+ constructor() {
16
+ this.m_libCurl_impl_ = new BaoLibCurl();
17
+ }
18
+ checkSending() {
19
+ if (this.m_isSending_) {
20
+ throw new Error('the last request is sending, don\'t send one more request on one instance!');
21
+ }
22
+ }
23
+ open(method, url, async = true) {
24
+ this.checkSending();
25
+ this.m_libCurl_impl_.open(method, url);
26
+ this.m_isAsync_ = async;
27
+ }
28
+ setRequestHeader(key, value) {
29
+ this.checkSending();
30
+ this.m_libCurl_impl_.setRequestHeader(key, value);
31
+ }
32
+ setRequestHeaders(headers) {
33
+ this.checkSending();
34
+ this.m_libCurl_impl_.setRequestHeaders(headers);
35
+ }
36
+ setProxy(proxy, username, password) {
37
+ this.checkSending();
38
+ if (username && password) {
39
+ this.m_libCurl_impl_.setProxy(proxy, username, password);
40
+ }
41
+ else {
42
+ this.m_libCurl_impl_.setProxy(proxy);
43
+ }
44
+ }
45
+ setTimeout(connectTime, sendTime) {
46
+ this.checkSending();
47
+ if (connectTime > sendTime) {
48
+ throw new Error('连接时间大于发送等待时间.');
49
+ }
50
+ this.m_libCurl_impl_.setTimeout(connectTime, sendTime);
51
+ }
52
+ setCookie(key, value, domain) {
53
+ this.checkSending();
54
+ this.m_libCurl_impl_.setCookie(key, value, domain);
55
+ }
56
+ removeCookie(key, domain) {
57
+ this.checkSending();
58
+ this.m_libCurl_impl_.removeCookie(key, domain);
59
+ }
60
+ getCookies() {
61
+ this.checkSending();
62
+ return this.m_libCurl_impl_.getCookies();
63
+ }
64
+ getCookie(key) {
65
+ this.checkSending();
66
+ return this.m_libCurl_impl_.getCookie(key);
67
+ }
68
+ getResponseHeaders() {
69
+ this.checkSending();
70
+ return this.m_libCurl_impl_.getResponseHeaders();
71
+ }
72
+ getResponseStatus() {
73
+ this.checkSending();
74
+ return this.m_libCurl_impl_.getResponseStatus();
75
+ }
76
+ reset() {
77
+ this.checkSending();
78
+ this.m_libCurl_impl_.reset();
79
+ }
80
+ setRedirect(isAllow) {
81
+ this.checkSending();
82
+ this.m_libCurl_impl_.setRedirect(isAllow);
83
+ }
84
+ printInnerLogger() {
85
+ this.checkSending();
86
+ this.m_libCurl_impl_.printInnerLogger();
87
+ }
88
+ setHttpVersion(version) {
89
+ this.checkSending();
90
+ this.m_libCurl_impl_.setHttpVersion(version);
91
+ }
92
+ send(body) {
93
+ this.checkSending();
94
+ this.m_isSending_ = true;
95
+ if (this.m_isAsync_) {
96
+ return new Promise((resolve, reject) => {
97
+ const callback = () => {
98
+ this.m_isSending_ = false;
99
+ resolve(void 0);
100
+ };
101
+ if (body) {
102
+ this.m_libCurl_impl_.sendAsync(body, callback);
103
+ }
104
+ else {
105
+ this.m_libCurl_impl_.sendAsync(callback);
106
+ }
107
+ });
108
+ }
109
+ if (body) {
110
+ this.m_libCurl_impl_.send(body);
111
+ }
112
+ else {
113
+ this.m_libCurl_impl_.send();
114
+ }
115
+ }
116
+ getResponseBody() {
117
+ this.checkSending();
118
+ return this.m_libCurl_impl_.getResponseBody();
119
+ }
120
+ getResponseString() {
121
+ this.checkSending();
122
+ return this.m_libCurl_impl_.getResponseString();
123
+ }
124
+ getResponseJson() {
125
+ this.checkSending();
126
+ return JSON.parse(this.getResponseString());
127
+ }
128
+ getResponseJsonp(callbackName) {
129
+ this.checkSending();
130
+ const str = this.getResponseString();
131
+ let jsonstr = str;
132
+ if (callbackName) {
133
+ [, jsonstr] = new RegExp(`\s*${callbackName}[\s\S]*(.*)[\s\S]*`, 'g').exec(str);
134
+ }
135
+ else {
136
+ try {
137
+ eval(str);
138
+ throw new Error('it seem not a jsonp');
139
+ }
140
+ catch (error) {
141
+ try {
142
+ [, callbackName] = /(.*) is not defined/g.exec(error.message);
143
+ return this.getResponseJsonp(callbackName);
144
+ }
145
+ catch (_a) {
146
+ throw new Error('it seem not a jsonp');
147
+ }
148
+ }
149
+ }
150
+ return eval(jsonstr);
151
+ }
152
+ }
153
+ exports.LibCurl = LibCurl;
154
+ //# sourceMappingURL=libcurl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"libcurl.js","sourceRoot":"","sources":["../src/libcurl.ts"],"names":[],"mappings":"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"}
@@ -22,11 +22,11 @@ interface LibCurlRequestInfo {
22
22
  }
23
23
  interface LibCurlResponseInfo {
24
24
  status: () => number;
25
- arraybuffer: () => ArrayBuffer;
26
- text: () => string;
27
- json: () => object;
28
- jsonp: (callbackName?: string) => object;
29
- headers: () => string;
25
+ arraybuffer: () => Promise<ArrayBuffer>;
26
+ text: () => Promise<string>;
27
+ json: () => Promise<object>;
28
+ jsonp: (callbackName?: string) => Promise<object>;
29
+ headers: () => Promise<string>;
30
30
  }
31
- export declare function fetch(url: string | URL, request: LibCurlRequestInfo): Promise<LibCurlResponseInfo>;
31
+ export declare function fetch(url: string | URL, request?: LibCurlRequestInfo): Promise<LibCurlResponseInfo>;
32
32
  export {};
package/dist/src/fetch.js CHANGED
@@ -11,7 +11,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.fetch = void 0;
13
13
  const libcurl_1 = require("./libcurl");
14
- function fetch(url, request) {
14
+ function fetch(url, request = {}) {
15
15
  return __awaiter(this, void 0, void 0, function* () {
16
16
  request.instance || (request.instance = new libcurl_1.LibCurl());
17
17
  const curl = request.instance;
@@ -76,11 +76,11 @@ function fetch(url, request) {
76
76
  promise.then(() => {
77
77
  resolve({
78
78
  status: () => curl.getResponseStatus(),
79
- arraybuffer: () => curl.getResponseBody().buffer,
80
- text: () => curl.getResponseString(),
81
- json: () => curl.getResponseJson(),
82
- jsonp: (callbackName) => curl.getResponseJsonp(callbackName),
83
- headers: () => curl.getResponseHeaders(),
79
+ arraybuffer: () => __awaiter(this, void 0, void 0, function* () { return curl.getResponseBody().buffer; }),
80
+ text: () => __awaiter(this, void 0, void 0, function* () { return curl.getResponseString(); }),
81
+ json: () => __awaiter(this, void 0, void 0, function* () { return curl.getResponseJson(); }),
82
+ jsonp: (callbackName) => __awaiter(this, void 0, void 0, function* () { return curl.getResponseJsonp(callbackName); }),
83
+ headers: () => __awaiter(this, void 0, void 0, function* () { return curl.getResponseHeaders(); }),
84
84
  });
85
85
  });
86
86
  });
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../src/fetch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../src/fetch.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1 @@
1
- import { LibCurl } from './libcurl';
2
- export { LibCurl };
1
+ export * from './export';
package/dist/src/index.js CHANGED
@@ -1,5 +1,18 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const libcurl_1 = require("./libcurl");
4
- exports.default = libcurl_1.LibCurl;
17
+ __exportStar(require("./export"), exports);
5
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;AAAA,uCAAmC;AAEnC,kBAAe,iBAAO,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAwB"}
@@ -138,8 +138,13 @@ class LibCurl {
138
138
  throw new Error('it seem not a jsonp');
139
139
  }
140
140
  catch (error) {
141
- [, callbackName] = /(.*) is not defined/g.exec(error.message);
142
- return this.getResponseJsonp(callbackName);
141
+ try {
142
+ [, callbackName] = /(.*) is not defined/g.exec(error.message);
143
+ return this.getResponseJsonp(callbackName);
144
+ }
145
+ catch (_a) {
146
+ throw new Error('it seem not a jsonp');
147
+ }
143
148
  }
144
149
  }
145
150
  return eval(jsonstr);
@@ -1 +1 @@
1
- {"version":3,"file":"libcurl.js","sourceRoot":"","sources":["../../src/libcurl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"libcurl.js","sourceRoot":"","sources":["../../src/libcurl.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ossiana/node-libcurl",
3
- "version": "1.0.6-alpha-2",
3
+ "version": "1.0.7-alpha-1",
4
4
  "dependencies": {
5
5
  "bindings": "^1.5.0",
6
6
  "node-addon-api": "^5.0.0",
package/src/fetch.ts CHANGED
@@ -29,14 +29,14 @@ interface LibCurlRequestInfo {
29
29
 
30
30
  interface LibCurlResponseInfo {
31
31
  status: () => number;
32
- arraybuffer: () => ArrayBuffer;
33
- text: () => string;
34
- json: () => object;
35
- jsonp: (callbackName?: string) => object;
36
- headers: () => string;
32
+ arraybuffer: () => Promise<ArrayBuffer>;
33
+ text: () => Promise<string>;
34
+ json: () => Promise<object>;
35
+ jsonp: (callbackName?: string) => Promise<object>;
36
+ headers: () => Promise<string>;
37
37
  }
38
38
 
39
- export async function fetch(url: string | URL, request: LibCurlRequestInfo): Promise<LibCurlResponseInfo> {
39
+ export async function fetch(url: string | URL, request: LibCurlRequestInfo = {}): Promise<LibCurlResponseInfo> {
40
40
  request.instance ||= new LibCurl();
41
41
  const curl = request.instance;
42
42
  return new Promise((resolve, reject) => {
@@ -103,11 +103,11 @@ export async function fetch(url: string | URL, request: LibCurlRequestInfo): Pro
103
103
  resolve(
104
104
  {
105
105
  status: () => curl.getResponseStatus(),
106
- arraybuffer: () => curl.getResponseBody().buffer,
107
- text: () => curl.getResponseString(),
108
- json: () => curl.getResponseJson(),
109
- jsonp: (callbackName?: string) => curl.getResponseJsonp(callbackName),
110
- headers: () => curl.getResponseHeaders(),
106
+ arraybuffer: async () => curl.getResponseBody().buffer,
107
+ text: async () => curl.getResponseString(),
108
+ json: async () => curl.getResponseJson(),
109
+ jsonp: async (callbackName?: string) => curl.getResponseJsonp(callbackName),
110
+ headers: async () => curl.getResponseHeaders(),
111
111
  }
112
112
  )
113
113
  })
package/src/index.ts ADDED
@@ -0,0 +1 @@
1
+ export * from './export'
@@ -97,7 +97,7 @@ void BaoCurl::setProxy(std::string proxy, std::string username,
97
97
  std::string password)
98
98
  {
99
99
  CHECK_CURLOK(curl_easy_setopt(this->m_pCURL, CURLOPT_PROXY, proxy.c_str()));
100
- CHECK_CURLOK(curl_easy_setopt(this->m_pCURL, CURLOPT_PROXYUSERPWD, username + ":" + password));
100
+ CHECK_CURLOK(curl_easy_setopt(this->m_pCURL, CURLOPT_PROXYUSERPWD, (username + ":" + password).c_str()));
101
101
  this->m_bProxy = true;
102
102
  }
103
103
 
@@ -213,7 +213,7 @@ Napi::Value BaoLibCurlWarp::removeCookie(const Napi::CallbackInfo &info)
213
213
  Napi::Value BaoLibCurlWarp::getCookies(const Napi::CallbackInfo &info)
214
214
  {
215
215
  Napi::Env env = info.Env();
216
- size_t argsLen = info.Length();
216
+ // size_t argsLen = info.Length();
217
217
 
218
218
  return Napi::String::New(env, this->m_curl.getCookies());
219
219
  }
@@ -237,7 +237,7 @@ Napi::Value BaoLibCurlWarp::getCookie(const Napi::CallbackInfo &info)
237
237
  Napi::Value BaoLibCurlWarp::getResponseStatus(const Napi::CallbackInfo &info)
238
238
  {
239
239
  Napi::Env env = info.Env();
240
- size_t argsLen = info.Length();
240
+ // size_t argsLen = info.Length();
241
241
 
242
242
  return Napi::Number::New(env, this->m_curl.getResponseStatus());
243
243
  }
@@ -248,7 +248,7 @@ Napi::Value BaoLibCurlWarp::getResponseStatus(const Napi::CallbackInfo &info)
248
248
  Napi::Value BaoLibCurlWarp::reset(const Napi::CallbackInfo &info)
249
249
  {
250
250
  Napi::Env env = info.Env();
251
- size_t argsLen = info.Length();
251
+ // size_t argsLen = info.Length();
252
252
 
253
253
  this->m_curl.reset();
254
254
  return env.Undefined();
@@ -274,7 +274,7 @@ Napi::Value BaoLibCurlWarp::setRedirect(const Napi::CallbackInfo &info)
274
274
  Napi::Value BaoLibCurlWarp::printInnerLogger(const Napi::CallbackInfo &info)
275
275
  {
276
276
  Napi::Env env = info.Env();
277
- size_t argsLen = info.Length();
277
+ // size_t argsLen = info.Length();
278
278
  this->m_curl.printInnerLogger();
279
279
  return env.Undefined();
280
280
  }
@@ -347,7 +347,7 @@ Napi::Value BaoLibCurlWarp::sendAsync(const Napi::CallbackInfo &info)
347
347
  curlAsyncWorker *workerPtr;
348
348
  if (argsLen == 1 || info[0].IsFunction())
349
349
  {
350
- workerPtr = new curlAsyncWorker(info[0].As<Napi::Function>(), this->m_curl, Napi::Uint8Array::New(env, 1));
350
+ workerPtr = new curlAsyncWorker(info[0].As<Napi::Function>(), this->m_curl, nullptr, 0);
351
351
  workerPtr->Queue();
352
352
  return env.Undefined();
353
353
  }
@@ -359,7 +359,7 @@ Napi::Value BaoLibCurlWarp::sendAsync(const Napi::CallbackInfo &info)
359
359
  if (info[0].IsTypedArray())
360
360
  {
361
361
  Napi::Uint8Array u8Arr = info[0].As<Napi::Uint8Array>();
362
- workerPtr = new curlAsyncWorker(info[1].As<Napi::Function>(), this->m_curl, u8Arr);
362
+ workerPtr = new curlAsyncWorker(info[1].As<Napi::Function>(), this->m_curl, (const char *)u8Arr.Data(), u8Arr.ElementLength());
363
363
  workerPtr->Queue();
364
364
  // this->m_curl.sendByte(reinterpret_cast<const char *>(utf8Buffer), u8Arr.ByteLength());
365
365
  return env.Undefined();
@@ -369,8 +369,8 @@ Napi::Value BaoLibCurlWarp::sendAsync(const Napi::CallbackInfo &info)
369
369
  string str = info[0].As<Napi::String>().Utf8Value();
370
370
  size_t strLen = str.size();
371
371
  Napi::Uint8Array u8buffer = Napi::Uint8Array::New(env, strLen);
372
- memcpy_s(u8buffer.Data(), strLen, str.c_str(), strLen);
373
- workerPtr = new curlAsyncWorker(info[1].As<Napi::Function>(), this->m_curl, u8buffer);
372
+ memcpy(u8buffer.Data(), str.c_str(), strLen);
373
+ workerPtr = new curlAsyncWorker(info[1].As<Napi::Function>(), this->m_curl, (const char *)u8buffer.Data(),u8buffer.ElementLength());
374
374
  workerPtr->Queue();
375
375
  return env.Undefined();
376
376
  }
@@ -378,8 +378,8 @@ Napi::Value BaoLibCurlWarp::sendAsync(const Napi::CallbackInfo &info)
378
378
  string jsonStr = env.Global().Get("JSON").As<Napi::Object>().Get("stringify").As<Napi::Function>().Call(argsList).As<Napi::String>().Utf8Value();
379
379
  size_t strLen = jsonStr.size();
380
380
  Napi::Uint8Array u8buffer = Napi::Uint8Array::New(env, strLen);
381
- memcpy_s(u8buffer.Data(), strLen, jsonStr.c_str(), strLen);
382
- workerPtr = new curlAsyncWorker(info[1].As<Napi::Function>(), this->m_curl, u8buffer);
381
+ memcpy(u8buffer.Data(), jsonStr.c_str(), strLen);
382
+ workerPtr = new curlAsyncWorker(info[1].As<Napi::Function>(), this->m_curl, (const char *)u8buffer.Data(),u8buffer.ElementLength());
383
383
  workerPtr->Queue();
384
384
  return env.Undefined();
385
385
  }
@@ -390,7 +390,7 @@ Napi::Value BaoLibCurlWarp::sendAsync(const Napi::CallbackInfo &info)
390
390
  Napi::Value BaoLibCurlWarp::getResponseHeaders(const Napi::CallbackInfo &info)
391
391
  {
392
392
  Napi::Env env = info.Env();
393
- size_t argsLen = info.Length();
393
+ // size_t argsLen = info.Length();
394
394
  return Napi::String::New(env, this->m_curl.getResponseHeaders());
395
395
  }
396
396
  /*
@@ -399,11 +399,11 @@ Napi::Value BaoLibCurlWarp::getResponseHeaders(const Napi::CallbackInfo &info)
399
399
  Napi::Value BaoLibCurlWarp::getResponseBody(const Napi::CallbackInfo &info)
400
400
  {
401
401
  Napi::Env env = info.Env();
402
- size_t argsLen = info.Length();
402
+ // size_t argsLen = info.Length();
403
403
  string utf8Str = this->m_curl.getResponseBody();
404
404
  size_t utf8Size = utf8Str.size();
405
405
  Napi::Uint8Array uint8buffer = Napi::Uint8Array::New(env, utf8Size);
406
- memcpy_s((void *)uint8buffer.Data(), utf8Size, utf8Str.c_str(), utf8Size);
406
+ memcpy((void *)uint8buffer.Data(), utf8Str.c_str(), utf8Size);
407
407
  return uint8buffer;
408
408
  }
409
409
 
@@ -413,7 +413,7 @@ Napi::Value BaoLibCurlWarp::getResponseBody(const Napi::CallbackInfo &info)
413
413
  Napi::Value BaoLibCurlWarp::getResponseString(const Napi::CallbackInfo &info)
414
414
  {
415
415
  Napi::Env env = info.Env();
416
- size_t argsLen = info.Length();
416
+ // size_t argsLen = info.Length();
417
417
  return Napi::String::New(env, this->m_curl.getResponseBody());
418
418
  }
419
419
 
@@ -1,9 +1,17 @@
1
1
  #include "curlAysncWorker.h"
2
2
 
3
- curlAsyncWorker::curlAsyncWorker(Napi::Function &callback, BaoCurl &baoCurlInstance, Napi::Uint8Array body)
4
- : Napi::AsyncWorker(callback), m_baoCurlInstance(baoCurlInstance), m_sendBody(body) {}
3
+ curlAsyncWorker::curlAsyncWorker(const Napi::Function &callback, BaoCurl &baoCurlInstance, const char *body, size_t bodySize)
4
+ : Napi::AsyncWorker(callback), m_baoCurlInstance(baoCurlInstance)
5
+ {
6
+ this->m_sendBody = (char *)malloc(bodySize);
7
+ this->m_bodySize = bodySize;
8
+ memcpy(this->m_sendBody, body, bodySize);
9
+ }
5
10
 
6
- curlAsyncWorker::~curlAsyncWorker() {}
11
+ curlAsyncWorker::~curlAsyncWorker()
12
+ {
13
+ free(m_sendBody);
14
+ }
7
15
 
8
16
  // Executed inside the worker-thread.
9
17
  // It is not safe to access JS engine data structure
@@ -11,7 +19,7 @@ curlAsyncWorker::~curlAsyncWorker() {}
11
19
  // should go on `this`.
12
20
  void curlAsyncWorker::Execute()
13
21
  {
14
- this->m_baoCurlInstance.sendByte((const char *)this->m_sendBody.Data(), this->m_sendBody.ByteLength());
22
+ this->m_baoCurlInstance.sendByte(this->m_sendBody, this->m_bodySize);
15
23
  }
16
24
 
17
25
  // Executed when the async work is complete
@@ -23,9 +31,8 @@ void curlAsyncWorker::OnOK()
23
31
  /* std::string str = this->m_baoCurlInstance.getResponseBody();
24
32
  size_t strLen = str.size();
25
33
  Napi::Uint8Array u8buffer = Napi::Uint8Array::New(Env(), strLen);
26
- memcpy_s(u8buffer.Data(), strLen, str.c_str(), strLen); */
34
+ memcpy(u8buffer.Data(), strLen, str.c_str(), strLen); */
27
35
  Callback().Call({
28
36
  /* u8buffer */
29
37
  });
30
38
  }
31
-
@@ -72,7 +72,7 @@ private:
72
72
  struct curl_slist* m_pHeaders = NULL;
73
73
  std::string m_method = "GET";
74
74
  struct Stream_st m_stream;
75
- struct curl_slist* m_cookies = NULL;
75
+ // struct curl_slist* m_cookies = NULL;
76
76
  bool m_bProxy = false;
77
77
  bool m_bIsHttps = false;
78
78
 
@@ -4,11 +4,13 @@
4
4
  class curlAsyncWorker : public Napi::AsyncWorker
5
5
  {
6
6
  public:
7
- curlAsyncWorker(Napi::Function &callback, BaoCurl& baoCurlInstance, Napi::Uint8Array m_sendBody);
7
+ curlAsyncWorker(const Napi::Function &callback, BaoCurl &baoCurlInstance, const char *sendBody, size_t bodySize);
8
8
  ~curlAsyncWorker();
9
9
  void Execute();
10
10
  void OnOK();
11
+
11
12
  private:
12
- BaoCurl& m_baoCurlInstance;
13
- Napi::Uint8Array m_sendBody;
13
+ BaoCurl &m_baoCurlInstance;
14
+ char* m_sendBody = nullptr;
15
+ size_t m_bodySize;
14
16
  };
@@ -1,30 +1,30 @@
1
1
  #define REQUEST_TLS_METHOD_THROW(env,className,methodName,reason) {\
2
- Napi::TypeError::New(##env,StringFormat("Failed to execute '%s' on '%s': %s",##methodName,##className,##reason)).ThrowAsJavaScriptException();\
3
- return (##env).Undefined();\
2
+ Napi::TypeError::New(env,StringFormat("Failed to execute '%s' on '%s': %s",methodName,className,reason)).ThrowAsJavaScriptException();\
3
+ return (env).Undefined();\
4
4
  }
5
5
 
6
6
  #define REQUEST_TLS_METHOD_ARGS_CHECK(env,className,methodName,needLen,getLen) {\
7
- if ( ##getLen != ##needLen){\
8
- Napi::TypeError::New(##env,StringFormat("Failed to execute '%s' on '%s': %d arguments required, but only %d present.",##methodName,##className,##needLen,##getLen)).ThrowAsJavaScriptException();\
9
- return (##env).Undefined();\
7
+ if (getLen != needLen){\
8
+ Napi::TypeError::New(env,StringFormat("Failed to execute '%s' on '%s': %d arguments required, but only %d present.",methodName,className,needLen,getLen)).ThrowAsJavaScriptException();\
9
+ return (env).Undefined();\
10
10
  }\
11
11
  }
12
12
 
13
13
  #define REQUEST_TLS_METHOD_ARGS_TOO_MUCH_CHECK(env,className,methodName,maxLen,getLen) {\
14
- if ( ##getLen > ##maxLen){\
15
- Napi::TypeError::New(##env,StringFormat("Failed to execute '%s' on '%s': maximum of %d arguments required, but only %d present.",##methodName,##className,##maxLen,##getLen)).ThrowAsJavaScriptException();\
16
- return (##env).Undefined();\
14
+ if (getLen > maxLen){\
15
+ Napi::TypeError::New(env,StringFormat("Failed to execute '%s' on '%s': maximum of %d arguments required, but only %d present.",methodName,className,maxLen,getLen)).ThrowAsJavaScriptException();\
16
+ return (env).Undefined();\
17
17
  }\
18
18
  }
19
19
 
20
20
  #define REQUEST_TLS_METHOD_ARGS_NO_CONFIG(env,className,methodName,reqNums,getLen) {\
21
- Napi::TypeError::New(##env,StringFormat("Failed to execute '%s' on '%s': [%s] arguments required, but only %d present.",##methodName,##className,##reqNums,##getLen)).ThrowAsJavaScriptException();\
22
- return (##env).Undefined();\
21
+ Napi::TypeError::New(env,StringFormat("Failed to execute '%s' on '%s': [%s] arguments required, but only %d present.",methodName,className,reqNums,getLen)).ThrowAsJavaScriptException();\
22
+ return (env).Undefined();\
23
23
  }
24
24
 
25
25
  #define REQUEST_TLS_METHOD_CHECK(env,condition,message) {\
26
26
  if (!(condition)){\
27
- Napi::TypeError::New(##env,##message).ThrowAsJavaScriptException();\
28
- return (##env).Undefined();\
27
+ Napi::TypeError::New(env,message).ThrowAsJavaScriptException();\
28
+ return (env).Undefined();\
29
29
  }\
30
- }
30
+ }
@@ -7,7 +7,14 @@
7
7
  #include <iostream>
8
8
  #include <stdlib.h>
9
9
  #include <time.h>
10
-
10
+ #include <memory>
11
11
 
12
12
  std::vector<std::string> StringSplit(const std::string& str, const std::string& pattern);
13
- std::string StringFormat(const char* lpcszFormat, ...);
13
+ template<typename ... Args>
14
+ std::string StringFormat(const std::string& format, Args ... args){
15
+ size_t size = 1 + snprintf(nullptr, 0, format.c_str(), args ...); // Extra space for \0
16
+ std::unique_ptr<char[]> bytes(new char[size]);
17
+ // char bytes[size];
18
+ snprintf(bytes.get(), size, format.c_str(), args ...);
19
+ return std::string(bytes.get());
20
+ }
@@ -5,7 +5,7 @@ std::vector<std::string> StringSplit(const std::string& str, const std::string&
5
5
  std::string::size_type pos;
6
6
  std::vector<std::string> result;
7
7
  std::string _str(str);
8
- _str += pattern;//��չ�ַ����Է������
8
+ _str += pattern;//��չ�ַ����Է������
9
9
  size_t size = _str.size();
10
10
  for (size_t i = 0; i < size; i++)
11
11
  {
@@ -21,21 +21,23 @@ std::vector<std::string> StringSplit(const std::string& str, const std::string&
21
21
  }
22
22
 
23
23
 
24
- std::string StringFormat(const char* lpcszFormat, ...)
25
- {
26
- std::string strResult;
27
- if (NULL != lpcszFormat)
28
- {
29
- va_list marker = NULL;
30
- va_start(marker, lpcszFormat); //��ʼ����������
31
- size_t nLength = _vscprintf(lpcszFormat, marker) + 1; //��ȡ��ʽ���ַ�������
32
- std::vector<char> vBuffer(nLength, '\0'); //�������ڴ洢��ʽ���ַ������ַ�����
33
- int nWritten = _vsnprintf_s(&vBuffer[0], vBuffer.size(), nLength, lpcszFormat, marker);
34
- if (nWritten > 0)
35
- {
36
- strResult = &vBuffer[0];
37
- }
38
- va_end(marker); //��������
39
- }
40
- return strResult;
41
- }
24
+
25
+
26
+ // std::string StringFormat(const char* lpcszFormat, ...)
27
+ // {
28
+ // std::string strResult;
29
+ // if (NULL != lpcszFormat)
30
+ // {
31
+ // va_list marker = {};
32
+ // va_start(marker, lpcszFormat); //��ʼ����������
33
+ // size_t nLength = vsnprintf(lpcszFormat, marker) + 1; //��ȡ��ʽ���ַ�������
34
+ // std::vector<char> vBuffer(nLength, '\0'); //�������ڴ洢��ʽ���ַ������ַ�����
35
+ // int nWritten = vsnprintf(&vBuffer[0], nLength, lpcszFormat, marker);
36
+ // if (nWritten > 0)
37
+ // {
38
+ // strResult = &vBuffer[0];
39
+ // }
40
+ // va_end(marker); //��������
41
+ // }
42
+ // return strResult;
43
+ // }
package/src/libcurl.ts CHANGED
@@ -226,8 +226,12 @@ export class LibCurl {
226
226
  eval(str)
227
227
  throw new Error('it seem not a jsonp');
228
228
  } catch (error) {
229
- [, callbackName] = /(.*) is not defined/g.exec(error.message)
230
- return this.getResponseJsonp(callbackName);
229
+ try {
230
+ [, callbackName] = /(.*) is not defined/g.exec(error.message);
231
+ return this.getResponseJsonp(callbackName);
232
+ } catch {
233
+ throw new Error('it seem not a jsonp')
234
+ }
231
235
  }
232
236
  }
233
237
  return eval(jsonstr);
package/tsconfig.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "removeComments": true,
7
7
  "noImplicitAny": false,
8
8
  "sourceMap": true,
9
- "rootDir": ".",
9
+ "rootDir": "src",
10
10
  "outDir": "dist",
11
11
  "typeRoots": [
12
12
  "./typings"
@@ -26,6 +26,6 @@
26
26
  "src/*"
27
27
  ],
28
28
  "exclude": [
29
-
29
+
30
30
  ]
31
31
  }
package/index.js DELETED
@@ -1 +0,0 @@
1
- module.exports = require('./dist/src/export.js')