@ossiana/node-libcurl 1.0.7-alpha-3 → 1.0.8-alpha-2

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 (50) hide show
  1. package/binding.gyp +15 -40
  2. package/dist/export.d.ts +2 -1
  3. package/dist/export.js +3 -1
  4. package/dist/export.js.map +1 -1
  5. package/dist/fetch.d.ts +4 -13
  6. package/dist/fetch.js +33 -68
  7. package/dist/fetch.js.map +1 -1
  8. package/dist/libcurl.d.ts +64 -11
  9. package/dist/libcurl.js +93 -48
  10. package/dist/libcurl.js.map +1 -1
  11. package/dist/requests.d.ts +66 -0
  12. package/dist/requests.js +186 -0
  13. package/dist/requests.js.map +1 -0
  14. package/dist/utils.d.ts +4 -0
  15. package/dist/utils.js +69 -0
  16. package/dist/utils.js.map +1 -0
  17. package/package.json +16 -6
  18. package/readme.md +28 -13
  19. package/src/export.ts +3 -3
  20. package/src/fetch.ts +38 -86
  21. package/src/libcurl/bao_curl.cpp +58 -22
  22. package/src/libcurl/bao_curl_node_addon.cpp +20 -13
  23. package/src/libcurl/curlAsyncWorker.cpp +6 -2
  24. package/src/libcurl/include/bao_curl.h +41 -38
  25. package/src/libcurl/include/curlAysncWorker.h +2 -0
  26. package/src/libcurl.ts +154 -59
  27. package/src/requests.ts +211 -0
  28. package/src/utils.ts +71 -0
  29. package/tsconfig.json +1 -0
  30. package/dist/src/export.d.ts +0 -3
  31. package/dist/src/export.js +0 -8
  32. package/dist/src/export.js.map +0 -1
  33. package/dist/src/fetch.d.ts +0 -32
  34. package/dist/src/fetch.js +0 -90
  35. package/dist/src/fetch.js.map +0 -1
  36. package/dist/src/index.d.ts +0 -1
  37. package/dist/src/index.js +0 -18
  38. package/dist/src/index.js.map +0 -1
  39. package/dist/src/libcurl.d.ts +0 -31
  40. package/dist/src/libcurl.js +0 -154
  41. package/dist/src/libcurl.js.map +0 -1
  42. package/index.js +0 -1
  43. package/src/libcurl/lib/Release/darwin/libcrypto.a +0 -0
  44. package/src/libcurl/lib/Release/darwin/libcurl.a +0 -0
  45. package/src/libcurl/lib/Release/darwin/libssl.a +0 -0
  46. package/src/libcurl/lib/Release/linux/libcrypto.a +0 -0
  47. package/src/libcurl/lib/Release/linux/libcurl.a +0 -0
  48. package/src/libcurl/lib/Release/linux/libssl.a +0 -0
  49. package/src/libcurl/lib/Release/windows/libcurl.dll +0 -0
  50. package/src/libcurl/lib/Release/windows/libcurl_imp.lib +0 -0
package/binding.gyp CHANGED
@@ -1,20 +1,17 @@
1
1
  {
2
- 'variables': {
3
- 'libcurl_libraries%': '',
4
- },
5
2
  "targets": [
6
3
  {
7
4
  "target_name": "bao_curl_node_addon",
8
5
 
9
6
  "sources": [
10
- "./src/libcurl/bao_curl_node_addon.cpp",
11
- "./src/libcurl/bao_curl.cpp",
12
- "./src/libcurl/utils.cpp",
13
- "./src/libcurl/curlAsyncWorker.cpp",
7
+ "<(module_root_dir)/src/libcurl/bao_curl_node_addon.cpp",
8
+ "<(module_root_dir)/src/libcurl/bao_curl.cpp",
9
+ "<(module_root_dir)/src/libcurl/utils.cpp",
10
+ "<(module_root_dir)/src/libcurl/curlAsyncWorker.cpp",
14
11
  ],
15
12
  "include_dirs": [
16
13
  "<!@(node -p \"require('node-addon-api').include\")",
17
- "./src/libcurl/include"
14
+ "<(module_root_dir)/src/libcurl/include"
18
15
  ],
19
16
  'defines': ["NAPI_CPP_EXCEPTIONS",
20
17
  "CURL_STATICLIB",
@@ -41,20 +38,20 @@
41
38
  },
42
39
  },
43
40
  'libraries': [
44
- # "<(module_root_dir)/src/libcurl/lib/Debug/libcurl-d_imp.lib"
45
- "<(module_root_dir)/src/libcurl/lib/Release/windows/libcurl_imp.lib"
41
+ # "<(module_root_dir)/lib/Debug/libcurl-d_imp.lib"
42
+ "<(module_root_dir)/lib/Release/win32-x64/libcurl_imp.lib"
46
43
  ],
47
44
  "copies": [
48
45
  # {
49
46
  # "destination": "<(module_root_dir)/build/Debug/",
50
47
  # "files": [
51
- # "<(module_root_dir)/src/libcurl/lib/Debug/libcurl-d.dll"
48
+ # "<(module_root_dir)/lib/Debug/libcurl-d.dll"
52
49
  # ]
53
50
  # },
54
51
  {
55
52
  "destination": "<(module_root_dir)/build/Release/",
56
53
  "files": [
57
- "<(module_root_dir)/src/libcurl/lib/Release/windows/libcurl.dll"
54
+ "<(module_root_dir)/lib/Release/win32-x64/libcurl.dll"
58
55
  ]
59
56
  }
60
57
  ]
@@ -72,9 +69,9 @@
72
69
  },
73
70
  },
74
71
  'libraries': [
75
- "<(module_root_dir)/src/libcurl/lib/Release/linux/libcurl.a",
76
- "<(module_root_dir)/src/libcurl/lib/Release/linux/libssl.a",
77
- "<(module_root_dir)/src/libcurl/lib/Release/linux/libcrypto.a"
72
+ "<(module_root_dir)/lib/Release/linux-x64/libcurl.a",
73
+ "<(module_root_dir)/lib/Release/linux-x64/libssl.a",
74
+ "<(module_root_dir)/lib/Release/linux-x64/libcrypto.a"
78
75
  ],
79
76
 
80
77
  }],
@@ -88,34 +85,12 @@
88
85
  'libraries': [
89
86
  "/System/Library/Frameworks/CoreFoundation.framework",
90
87
  "/System/Library/Frameworks/SystemConfiguration.framework",
91
- "<(module_root_dir)/src/libcurl/lib/Release/darwin/libcurl.a",
92
- "<(module_root_dir)/src/libcurl/lib/Release/darwin/libssl.a",
93
- "<(module_root_dir)/src/libcurl/lib/Release/darwin/libcrypto.a"
88
+ "<(module_root_dir)/lib/Release/darwin-x64/libcurl.a",
89
+ "<(module_root_dir)/lib/Release/darwin-x64/libssl.a",
90
+ "<(module_root_dir)/lib/Release/darwin-x64/libcrypto.a"
94
91
  ],
95
92
  }]
96
93
  ],
97
-
98
- # "configurations":{
99
- # "Release": {
100
- # "msvs_settings": {
101
- # "VCCLCompilerTool": {
102
- # # 多线程 DLL (/MD)
103
- # #'RuntimeLibrary': '2',
104
- # 'ExceptionHandling': '1',
105
- # 'Optimization': 2, # /O2 safe optimization
106
- # 'FavorSizeOrSpeed': 1, # /Ot, favour speed over size
107
- # 'InlineFunctionExpansion': 2, # /Ob2, inline anything eligible
108
- # # /GL, whole program optimization, needed for LTCG
109
- # 'WholeProgramOptimization': 'true',
110
- # 'OmitFramePointers': 'true',
111
- # 'EnableFunctionLevelLinking': 'true',
112
- # 'EnableIntrinsicFunctions': 'true',
113
- # 'AdditionalOptions':[
114
- # ]
115
- # }
116
- # }
117
- # }
118
- # }
119
94
  }
120
95
  ]
121
96
  }
package/dist/export.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  import { LibCurl } from "./libcurl";
2
2
  import { fetch } from "./fetch";
3
- export { LibCurl, fetch };
3
+ import { requests } from './requests';
4
+ export { LibCurl, fetch, requests };
package/dist/export.js CHANGED
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.fetch = exports.LibCurl = void 0;
3
+ exports.requests = exports.fetch = exports.LibCurl = void 0;
4
4
  const libcurl_1 = require("./libcurl");
5
5
  Object.defineProperty(exports, "LibCurl", { enumerable: true, get: function () { return libcurl_1.LibCurl; } });
6
6
  const fetch_1 = require("./fetch");
7
7
  Object.defineProperty(exports, "fetch", { enumerable: true, get: function () { return fetch_1.fetch; } });
8
+ const requests_1 = require("./requests");
9
+ Object.defineProperty(exports, "requests", { enumerable: true, get: function () { return requests_1.requests; } });
8
10
  //# sourceMappingURL=export.js.map
@@ -1 +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"}
1
+ {"version":3,"file":"export.js","sourceRoot":"","sources":["../src/export.ts"],"names":[],"mappings":";;;AAAA,uCAAmC;AAG1B,wFAHA,iBAAO,OAGA;AAFhB,mCAA+B;AAEb,sFAFT,aAAK,OAES;AADvB,yCAAqC;AACZ,yFADhB,mBAAQ,OACgB"}
package/dist/fetch.d.ts CHANGED
@@ -1,16 +1,6 @@
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;
1
+ import { LibCurl, LibCurlBodyInfo, LibCurlMethodInfo, LibCurlHeadersInfo, LibCurlCookiesAttr, LibCurlHttpVersionInfo, LibCurlProxyInfo, LibCurlCookiesInfo } from "./libcurl";
12
2
  interface LibCurlRequestInfo {
13
- method?: string;
3
+ method?: LibCurlMethodInfo;
14
4
  headers?: LibCurlHeadersInfo;
15
5
  body?: LibCurlBodyInfo;
16
6
  redirect?: boolean;
@@ -25,8 +15,9 @@ interface LibCurlResponseInfo {
25
15
  arraybuffer: () => Promise<ArrayBuffer>;
26
16
  text: () => Promise<string>;
27
17
  json: () => Promise<object>;
28
- jsonp: (callbackName?: string) => Promise<object>;
29
18
  headers: () => Promise<string>;
19
+ cookies: () => Promise<string>;
20
+ cookiesMap: () => Promise<LibCurlCookiesAttr>;
30
21
  }
31
22
  export declare function fetch(url: string | URL, request?: LibCurlRequestInfo): Promise<LibCurlResponseInfo>;
32
23
  export {};
package/dist/fetch.js CHANGED
@@ -11,79 +11,44 @@ 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
+ const utils_1 = require("./utils");
14
15
  function fetch(url, request = {}) {
15
16
  return __awaiter(this, void 0, void 0, function* () {
16
17
  request.instance || (request.instance = new libcurl_1.LibCurl());
17
18
  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
- }
19
+ const { method = "GET", headers, redirect = false, httpVersion = 0, openInnerLog = false, proxy, body, cookies } = request;
20
+ curl.open(method, url + '', true);
21
+ if (headers) {
22
+ curl.setRequestHeaders(headers);
23
+ }
24
+ if (redirect) {
25
+ curl.setRedirect(true);
26
+ }
27
+ if (httpVersion) {
28
+ curl.setHttpVersion(httpVersion);
29
+ }
30
+ if (openInnerLog) {
31
+ curl.printInnerLogger();
32
+ }
33
+ if (cookies) {
34
+ const { hostname } = new URL(url);
43
35
  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
- });
36
+ (0, utils_1.libcurlSetCookies)(curl, cookies, hostname);
37
+ }
38
+ }
39
+ if (proxy) {
40
+ curl.setProxy(proxy);
41
+ }
42
+ yield curl.send(body);
43
+ return {
44
+ status: () => curl.getResponseStatus(),
45
+ arraybuffer: () => __awaiter(this, void 0, void 0, function* () { return curl.getResponseBody().buffer; }),
46
+ text: () => __awaiter(this, void 0, void 0, function* () { return curl.getResponseString(); }),
47
+ json: () => __awaiter(this, void 0, void 0, function* () { return curl.getResponseJson(); }),
48
+ headers: () => __awaiter(this, void 0, void 0, function* () { return curl.getResponseHeaders(); }),
49
+ cookies: () => __awaiter(this, void 0, void 0, function* () { return curl.getCookies(); }),
50
+ cookiesMap: () => __awaiter(this, void 0, void 0, function* () { return curl.getCookiesMap(); }),
51
+ };
87
52
  });
88
53
  }
89
54
  exports.fetch = fetch;
package/dist/fetch.js.map CHANGED
@@ -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":";;;;;;;;;;;;AAAA,uCAA8K;AAC9K,mCAA4C;AA2B5C,SAAsB,KAAK,CAAC,GAAiB,EAAE,UAA8B,EAAE;;QAC3E,OAAO,CAAC,QAAQ,KAAhB,OAAO,CAAC,QAAQ,GAAK,IAAI,iBAAO,EAAE,EAAC;QACnC,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC9B,MAAM,EAAE,MAAM,GAAG,KAAK,EAClB,OAAO,EAAE,QAAQ,GAAG,KAAK,EAAE,WAAW,GAAG,CAAC,EAC1C,YAAY,GAAG,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QAC3D,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;QAClC,IAAI,OAAO,EAAE;YACT,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;SACnC;QACD,IAAI,QAAQ,EAAE;YACV,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SAC1B;QACD,IAAI,WAAW,EAAE;YACb,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;SACpC;QACD,IAAI,YAAY,EAAE;YACd,IAAI,CAAC,gBAAgB,EAAE,CAAC;SAC3B;QACD,IAAI,OAAO,EAAE;YACT,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;YAClC,IAAI,OAAO,EAAE;gBACT,IAAA,yBAAiB,EAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;aAC9C;SACJ;QACD,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SACxB;QACD,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,OAAO;YACH,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE;YACtC,WAAW,EAAE,GAAS,EAAE,gDAAC,OAAA,IAAI,CAAC,eAAe,EAAE,CAAC,MAAM,CAAA,GAAA;YACtD,IAAI,EAAE,GAAS,EAAE,gDAAC,OAAA,IAAI,CAAC,iBAAiB,EAAE,CAAA,GAAA;YAC1C,IAAI,EAAE,GAAS,EAAE,gDAAC,OAAA,IAAI,CAAC,eAAe,EAAE,CAAA,GAAA;YACxC,OAAO,EAAE,GAAS,EAAE,gDAAC,OAAA,IAAI,CAAC,kBAAkB,EAAE,CAAA,GAAA;YAC9C,OAAO,EAAE,GAAS,EAAE,gDAAC,OAAA,IAAI,CAAC,UAAU,EAAE,CAAA,GAAA;YACtC,UAAU,EAAE,GAAS,EAAE,gDAAC,OAAA,IAAI,CAAC,aAAa,EAAE,CAAA,GAAA;SACxB,CAAC;IAE7B,CAAC;CAAA;AAvCD,sBAuCC"}
package/dist/libcurl.d.ts CHANGED
@@ -1,31 +1,84 @@
1
- export declare enum LibCurl_HTTP_VERSION {
1
+ export declare enum LibCurlHttpVersionInfo {
2
2
  http1_1 = 0,
3
3
  http2 = 1
4
4
  }
5
+ export type LibCurlSetCookieOption = {
6
+ domain?: string;
7
+ path?: string;
8
+ name: string;
9
+ value: string;
10
+ };
11
+ export type LibCurlCookiesInfo = string | {
12
+ [key: string]: string;
13
+ };
14
+ export type LibCurlGetCookiesOption = {
15
+ domain?: string;
16
+ path?: string;
17
+ };
18
+ export type LibCurlGetCookieOption = {
19
+ name: string;
20
+ domain: string;
21
+ path?: string;
22
+ };
23
+ export type LibCurlCookieAttrArray = [
24
+ domain: string,
25
+ secure: boolean,
26
+ path: string,
27
+ cors: boolean,
28
+ timestamp: number,
29
+ name: string,
30
+ value: string
31
+ ];
32
+ export type LibCurlCookieAttrObject = {
33
+ domain: string;
34
+ secure: boolean;
35
+ path: string;
36
+ cors: boolean;
37
+ timestamp: number;
38
+ value: string;
39
+ };
40
+ export type LibCurlCookiesAttr = Map<string, LibCurlCookieAttrObject>;
41
+ export type LibCurlHeadersAttr = Map<string, string>;
42
+ export type LibCurlHeadersInfo = string | {
43
+ [key: string]: [value: string];
44
+ } | LibCurlHeadersAttr;
45
+ export type LibCurlBodyInfo = string | Uint8Array | URLSearchParams | any;
46
+ export type LibCurlMethodInfo = 'GET' | 'POST' | 'HEAD' | 'PUT' | 'DELETE' | 'CONNECT' | 'OPTIONS' | 'TRACE' | 'PATCH';
47
+ export type LibCurlProxyWithAccountInfo = {
48
+ proxy: string;
49
+ username: string;
50
+ password: string;
51
+ };
52
+ export type LibCurlProxyInfo = string | LibCurlProxyWithAccountInfo;
53
+ export type LibCurlURLInfo = string | URL;
54
+ export declare class LibCurlError extends Error {
55
+ constructor(e: string);
56
+ }
5
57
  export declare class LibCurl {
6
58
  private m_libCurl_impl_;
7
59
  private m_isAsync_;
8
60
  private m_isSending_;
9
61
  constructor();
10
62
  private checkSending;
11
- open(method: string, url: string, async?: boolean): void;
63
+ open(method: LibCurlMethodInfo, url: LibCurlURLInfo, async?: boolean): void;
12
64
  setRequestHeader(key: string, value: string): void;
13
- setRequestHeaders(headers: string): void;
14
- setProxy(proxy: string, username?: string, password?: string): void;
65
+ setRequestHeaders(headers: LibCurlHeadersInfo): void;
66
+ setProxy(proxyOpt: LibCurlProxyInfo): void;
15
67
  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;
68
+ setCookie(cookieOpt: LibCurlSetCookieOption): void;
69
+ deleteCookie(cookieOpt: LibCurlGetCookieOption): void;
70
+ getCookies(cookieOpt?: LibCurlGetCookiesOption): string;
71
+ getCookiesMap(cookieOpt?: LibCurlGetCookiesOption): LibCurlCookiesAttr;
72
+ getCookie(cookieOpt: LibCurlGetCookieOption): string;
20
73
  getResponseHeaders(): string;
74
+ getResponseHeadersMap(): LibCurlHeadersAttr;
21
75
  getResponseStatus(): number;
22
76
  reset(): void;
23
77
  setRedirect(isAllow: boolean): void;
24
78
  printInnerLogger(): void;
25
- setHttpVersion(version: LibCurl_HTTP_VERSION): void;
26
- send(body?: string | Uint8Array | any): Promise<undefined> | undefined;
79
+ setHttpVersion(version: LibCurlHttpVersionInfo): void;
80
+ send(body?: LibCurlBodyInfo): Promise<undefined> | undefined;
27
81
  getResponseBody(): Uint8Array;
28
82
  getResponseString(): string;
29
83
  getResponseJson(): Object;
30
- getResponseJsonp(callbackName?: string): Object;
31
84
  }
package/dist/libcurl.js CHANGED
@@ -3,14 +3,21 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.LibCurl = exports.LibCurl_HTTP_VERSION = void 0;
6
+ exports.LibCurl = exports.LibCurlError = exports.LibCurlHttpVersionInfo = void 0;
7
7
  const bindings_1 = __importDefault(require("bindings"));
8
+ const utils_1 = require("./utils");
8
9
  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 = {}));
10
+ var LibCurlHttpVersionInfo;
11
+ (function (LibCurlHttpVersionInfo) {
12
+ LibCurlHttpVersionInfo[LibCurlHttpVersionInfo["http1_1"] = 0] = "http1_1";
13
+ LibCurlHttpVersionInfo[LibCurlHttpVersionInfo["http2"] = 1] = "http2";
14
+ })(LibCurlHttpVersionInfo = exports.LibCurlHttpVersionInfo || (exports.LibCurlHttpVersionInfo = {}));
15
+ class LibCurlError extends Error {
16
+ constructor(e) {
17
+ super(e);
18
+ }
19
+ }
20
+ exports.LibCurlError = LibCurlError;
14
21
  class LibCurl {
15
22
  constructor() {
16
23
  this.m_libCurl_impl_ = new BaoLibCurl();
@@ -22,7 +29,7 @@ class LibCurl {
22
29
  }
23
30
  open(method, url, async = true) {
24
31
  this.checkSending();
25
- this.m_libCurl_impl_.open(method, url);
32
+ this.m_libCurl_impl_.open(method, url + '');
26
33
  this.m_isAsync_ = async;
27
34
  }
28
35
  setRequestHeader(key, value) {
@@ -31,15 +38,32 @@ class LibCurl {
31
38
  }
32
39
  setRequestHeaders(headers) {
33
40
  this.checkSending();
34
- this.m_libCurl_impl_.setRequestHeaders(headers);
41
+ if (!headers) {
42
+ return;
43
+ }
44
+ if (headers instanceof Map) {
45
+ headers.forEach((value, key) => this.m_libCurl_impl_.setRequestHeader(key, value));
46
+ }
47
+ else if (typeof headers == 'string') {
48
+ this.m_libCurl_impl_.setRequestHeaders(headers);
49
+ }
50
+ else if (typeof headers == 'object') {
51
+ Object.keys(headers).forEach((key) => {
52
+ const value = headers[key];
53
+ this.m_libCurl_impl_.setRequestHeader(key, value);
54
+ });
55
+ }
56
+ else {
57
+ throw new TypeError('unkown type');
58
+ }
35
59
  }
36
- setProxy(proxy, username, password) {
60
+ setProxy(proxyOpt) {
37
61
  this.checkSending();
38
- if (username && password) {
39
- this.m_libCurl_impl_.setProxy(proxy, username, password);
62
+ if (typeof proxyOpt == 'string') {
63
+ this.m_libCurl_impl_.setProxy(proxyOpt);
40
64
  }
41
65
  else {
42
- this.m_libCurl_impl_.setProxy(proxy);
66
+ this.m_libCurl_impl_.setProxy(proxyOpt.proxy, proxyOpt.username, proxyOpt.password);
43
67
  }
44
68
  }
45
69
  setTimeout(connectTime, sendTime) {
@@ -49,26 +73,56 @@ class LibCurl {
49
73
  }
50
74
  this.m_libCurl_impl_.setTimeout(connectTime, sendTime);
51
75
  }
52
- setCookie(key, value, domain) {
76
+ setCookie(cookieOpt) {
77
+ this.checkSending();
78
+ this.m_libCurl_impl_.setCookie(cookieOpt.name, cookieOpt.value, cookieOpt.domain, cookieOpt.path);
79
+ }
80
+ deleteCookie(cookieOpt) {
53
81
  this.checkSending();
54
- this.m_libCurl_impl_.setCookie(key, value, domain);
82
+ this.m_libCurl_impl_.deleteCookie(cookieOpt.name, cookieOpt.domain, cookieOpt.path || "/");
55
83
  }
56
- removeCookie(key, domain) {
84
+ getCookies(cookieOpt) {
57
85
  this.checkSending();
58
- this.m_libCurl_impl_.removeCookie(key, domain);
86
+ const cookies_ = this.m_libCurl_impl_.getCookies();
87
+ return (0, utils_1.httpCookiesToArray)(cookies_).filter((0, utils_1.cookieOptFilter)(cookieOpt)).map(e => `${e[5]}=${encodeURIComponent(e[6])}`).join(';');
59
88
  }
60
- getCookies() {
89
+ getCookiesMap(cookieOpt) {
61
90
  this.checkSending();
62
- return this.m_libCurl_impl_.getCookies();
91
+ const cookies_ = this.m_libCurl_impl_.getCookies();
92
+ return (0, utils_1.httpCookiesToArray)(cookies_).filter((0, utils_1.cookieOptFilter)(cookieOpt)).reduce((e, t) => {
93
+ e.set(t[5], {
94
+ domain: t[0],
95
+ secure: t[1],
96
+ path: t[2],
97
+ cors: t[3],
98
+ timestamp: t[4],
99
+ value: t[6],
100
+ });
101
+ return e;
102
+ }, new Map());
63
103
  }
64
- getCookie(key) {
104
+ getCookie(cookieOpt) {
65
105
  this.checkSending();
66
- return this.m_libCurl_impl_.getCookie(key);
106
+ return this.m_libCurl_impl_.getCookie(cookieOpt.name, cookieOpt.domain || "", cookieOpt.path || "");
67
107
  }
68
108
  getResponseHeaders() {
69
109
  this.checkSending();
70
110
  return this.m_libCurl_impl_.getResponseHeaders();
71
111
  }
112
+ getResponseHeadersMap() {
113
+ this.checkSending();
114
+ const headers_ = this.m_libCurl_impl_.getResponseHeaders();
115
+ return headers_.split('\r\n')
116
+ .slice(1)
117
+ .reduce((e, t) => {
118
+ if (!t) {
119
+ return e;
120
+ }
121
+ const [key, value] = t.split(': ');
122
+ e.set(key, value);
123
+ return e;
124
+ }, new Map());
125
+ }
72
126
  getResponseStatus() {
73
127
  this.checkSending();
74
128
  return this.m_libCurl_impl_.getResponseStatus();
@@ -94,12 +148,22 @@ class LibCurl {
94
148
  this.m_isSending_ = true;
95
149
  if (this.m_isAsync_) {
96
150
  return new Promise((resolve, reject) => {
97
- const callback = () => {
151
+ const callback = (curlcode, curlcodeError) => {
98
152
  this.m_isSending_ = false;
99
- resolve(void 0);
153
+ if (curlcode != 0) {
154
+ reject(new LibCurlError(curlcodeError));
155
+ }
156
+ else {
157
+ resolve(void 0);
158
+ }
100
159
  };
101
160
  if (body) {
102
- this.m_libCurl_impl_.sendAsync(body, callback);
161
+ if (body instanceof URLSearchParams) {
162
+ this.m_libCurl_impl_.sendAsync(body + '', callback);
163
+ }
164
+ else {
165
+ this.m_libCurl_impl_.sendAsync(body, callback);
166
+ }
103
167
  }
104
168
  else {
105
169
  this.m_libCurl_impl_.sendAsync(callback);
@@ -107,7 +171,12 @@ class LibCurl {
107
171
  });
108
172
  }
109
173
  if (body) {
110
- this.m_libCurl_impl_.send(body);
174
+ if (body instanceof URLSearchParams) {
175
+ this.m_libCurl_impl_.send(body + '');
176
+ }
177
+ else {
178
+ this.m_libCurl_impl_.send(body);
179
+ }
111
180
  }
112
181
  else {
113
182
  this.m_libCurl_impl_.send();
@@ -125,30 +194,6 @@ class LibCurl {
125
194
  this.checkSending();
126
195
  return JSON.parse(this.getResponseString());
127
196
  }
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
197
  }
153
198
  exports.LibCurl = LibCurl;
154
199
  //# sourceMappingURL=libcurl.js.map
@@ -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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"}