@ossiana/node-libcurl 1.1.2-alpha-6 → 1.1.3-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.
package/binding.gyp CHANGED
@@ -6,8 +6,9 @@
6
6
  "sources": [
7
7
  "./src/libcurl/bao_curl_node_addon.cpp",
8
8
  "./src/libcurl/bao_curl.cpp",
9
+ "./src/libcurl/bao_curl_multi.cpp",
9
10
  "./src/libcurl/utils.cpp",
10
- "./src/libcurl/curlAsyncWorker.cpp",
11
+ # "./src/libcurl/curlAsyncWorker.cpp",
11
12
  ],
12
13
  "include_dirs": [
13
14
  "<!@(node -p \"require('node-addon-api').include\")",
package/dist/fetch.js CHANGED
@@ -7,7 +7,7 @@ async function fetch(url, request = {}) {
7
7
  request.instance ||= new libcurl_1.LibCurl();
8
8
  const curl = request.instance;
9
9
  const { method = "GET", headers, redirect = false, httpVersion = 0, openInnerLog = false, proxy, body, cookies, timeout, interface: interface_, ja3, } = request;
10
- curl.open(method, url + '', true);
10
+ curl.open(method, url + '');
11
11
  if (headers) {
12
12
  curl.setRequestHeaders(headers);
13
13
  }
@@ -18,7 +18,7 @@ async function fetch(url, request = {}) {
18
18
  curl.setHttpVersion(httpVersion);
19
19
  }
20
20
  if (interface_) {
21
- curl.setDnsInterface(interface_);
21
+ curl.setInterface(interface_);
22
22
  }
23
23
  if (openInnerLog) {
24
24
  curl.printInnerLogger();
package/dist/fetch.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":";;;AAAA,uCAA+N;AAC/N,mCAAyE;AA+BlE,KAAK,UAAU,KAAK,CAAC,GAAiB,EAAE,UAA8B,EAAE;IAC3E,OAAO,CAAC,QAAQ,KAAK,IAAI,iBAAO,EAAE,CAAC;IACnC,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC;IAC9B,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,EAAC,OAAO,EAClD,SAAS,EAAE,UAAU,EAAE,GAAG,GAC7B,GAAG,OAAO,CAAC;IACZ,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;IAClC,IAAI,OAAO,EAAE;QACT,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;KACnC;IACD,IAAI,QAAQ,EAAE;QACV,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;KAC1B;IACD,IAAI,WAAW,EAAE;QACb,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;KACpC;IACD,IAAI,UAAU,EAAE;QACZ,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;KACpC;IACD,IAAI,YAAY,EAAE;QACd,IAAI,CAAC,gBAAgB,EAAE,CAAC;KAC3B;IACD,IAAI,OAAO,EAAE;QACT,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,OAAO,EAAE;YACT,IAAA,yBAAiB,EAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;SAC9C;KACJ;IACD,IAAI,KAAK,EAAE;QACP,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;KACxB;IACD,IAAI,OAAO,EAAE;QACT,IAAI,CAAC,UAAU,CAAC,OAAO,EAAC,OAAO,CAAC,CAAC;KACpC;IACD,IAAI,CAAC,iBAAiB,CAAC,GAAG,IAAI,IAAA,mCAA2B,GAAE,CAAC,CAAC;IAC7D,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtB,OAAO;QACH,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE;QACtC,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,wBAAwB,EAAE;QACpD,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,MAAM;QACtD,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE;QAC1C,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE;QACxC,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE;QAC9C,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE;QACtC,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE;KACxB,CAAC;AAE7B,CAAC;AAjDD,sBAiDC"}
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":";;;AAAA,uCAA+N;AAC/N,mCAAyE;AA+BlE,KAAK,UAAU,KAAK,CAAC,GAAiB,EAAE,UAA8B,EAAE;IAC3E,OAAO,CAAC,QAAQ,KAAK,IAAI,iBAAO,EAAE,CAAC;IACnC,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC;IAC9B,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,EAAC,OAAO,EAClD,SAAS,EAAE,UAAU,EAAE,GAAG,GAC7B,GAAG,OAAO,CAAC;IACZ,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC;IAC5B,IAAI,OAAO,EAAE;QACT,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;KACnC;IACD,IAAI,QAAQ,EAAE;QACV,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;KAC1B;IACD,IAAI,WAAW,EAAE;QACb,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;KACpC;IACD,IAAI,UAAU,EAAE;QACZ,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;KACjC;IACD,IAAI,YAAY,EAAE;QACd,IAAI,CAAC,gBAAgB,EAAE,CAAC;KAC3B;IACD,IAAI,OAAO,EAAE;QACT,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,OAAO,EAAE;YACT,IAAA,yBAAiB,EAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;SAC9C;KACJ;IACD,IAAI,KAAK,EAAE;QACP,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;KACxB;IACD,IAAI,OAAO,EAAE;QACT,IAAI,CAAC,UAAU,CAAC,OAAO,EAAC,OAAO,CAAC,CAAC;KACpC;IACD,IAAI,CAAC,iBAAiB,CAAC,GAAG,IAAI,IAAA,mCAA2B,GAAE,CAAC,CAAC;IAC7D,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtB,OAAO;QACH,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE;QACtC,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,wBAAwB,EAAE;QACpD,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,MAAM;QACtD,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE;QAC1C,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE;QACxC,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE;QAC9C,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE;QACtC,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE;KACxB,CAAC;AAE7B,CAAC;AAjDD,sBAiDC"}
package/dist/libcurl.d.ts CHANGED
@@ -140,11 +140,11 @@ export declare class LibCurlError extends Error {
140
140
  }
141
141
  export declare class LibCurl {
142
142
  private m_libCurl_impl_;
143
- private m_isAsync_;
144
143
  private m_isSending_;
145
144
  constructor();
145
+ private static multiExecute;
146
146
  private checkSending;
147
- open(method: LibCurlMethodInfo, url: LibCurlURLInfo, async?: boolean): void;
147
+ open(method: LibCurlMethodInfo, url: LibCurlURLInfo): void;
148
148
  setRequestHeader(key: string, value: string): void;
149
149
  setRequestHeaders(headers: LibCurlHeadersInfo): void;
150
150
  setProxy(proxyOpt: LibCurlProxyInfo): void;
@@ -162,7 +162,7 @@ export declare class LibCurl {
162
162
  setRedirect(isAllow: boolean): void;
163
163
  printInnerLogger(): void;
164
164
  setHttpVersion(version: LibCurlHttpVersionInfo): void;
165
- setDnsInterface(network: LibCurlInterfaceInfo): void;
165
+ setInterface(network: LibCurlInterfaceInfo): void;
166
166
  setJA3Fingerprint(ja3: LibCurlJA3FingerPrintInfo): void;
167
167
  send(body?: LibCurlBodyInfo): Promise<undefined> | undefined;
168
168
  getResponseBody(): Uint8Array;
package/dist/libcurl.js CHANGED
@@ -7,6 +7,10 @@ exports.LibCurl = exports.LibCurlError = exports.LibCurlJA3EcPointFormat = expor
7
7
  const bindings_1 = __importDefault(require("bindings"));
8
8
  const utils_1 = require("./utils");
9
9
  const { BaoLibCurl } = (0, bindings_1.default)('bao_curl_node_addon');
10
+ BaoLibCurl.globalInit();
11
+ process.on('exit', (e) => {
12
+ BaoLibCurl.globalCleanup();
13
+ });
10
14
  var LibCurlHttpVersionInfo;
11
15
  (function (LibCurlHttpVersionInfo) {
12
16
  LibCurlHttpVersionInfo[LibCurlHttpVersionInfo["http1_1"] = 0] = "http1_1";
@@ -132,20 +136,20 @@ class LibCurlError extends Error {
132
136
  exports.LibCurlError = LibCurlError;
133
137
  class LibCurl {
134
138
  m_libCurl_impl_;
135
- m_isAsync_;
136
139
  m_isSending_;
137
140
  constructor() {
138
141
  this.m_libCurl_impl_ = new BaoLibCurl();
139
142
  }
143
+ static multiExecute() {
144
+ }
140
145
  checkSending() {
141
146
  if (this.m_isSending_) {
142
147
  throw new Error('the last request is sending, don\'t send one more request on one instance!');
143
148
  }
144
149
  }
145
- open(method, url, async = true) {
150
+ open(method, url) {
146
151
  this.checkSending();
147
152
  this.m_libCurl_impl_.open(method, url + '');
148
- this.m_isAsync_ = async;
149
153
  }
150
154
  setRequestHeader(key, value) {
151
155
  this.checkSending();
@@ -262,9 +266,9 @@ class LibCurl {
262
266
  this.checkSending();
263
267
  this.m_libCurl_impl_.setHttpVersion(version);
264
268
  }
265
- setDnsInterface(network) {
269
+ setInterface(network) {
266
270
  this.checkSending();
267
- this.m_libCurl_impl_.setDnsInterface(network);
271
+ this.m_libCurl_impl_.setInterface(network);
268
272
  }
269
273
  setJA3Fingerprint(ja3) {
270
274
  this.checkSending();
@@ -313,42 +317,23 @@ class LibCurl {
313
317
  send(body) {
314
318
  this.checkSending();
315
319
  this.m_isSending_ = true;
316
- if (this.m_isAsync_) {
317
- return new Promise((resolve, reject) => {
318
- const callStack = '\n ' + new Error().stack.slice(10);
319
- const callback = (curlcode, curlcodeError) => {
320
- this.m_isSending_ = false;
321
- if (curlcode != 0) {
322
- reject(new LibCurlError(curlcodeError, callStack));
323
- }
324
- else {
325
- resolve(void 0);
326
- }
327
- };
328
- if (body) {
329
- if (body instanceof URLSearchParams) {
330
- this.m_libCurl_impl_.sendAsync(body + '', callback);
331
- }
332
- else {
333
- this.m_libCurl_impl_.sendAsync(body, callback);
334
- }
335
- }
336
- else {
337
- this.m_libCurl_impl_.sendAsync(callback);
338
- }
339
- });
340
- }
320
+ let promise;
341
321
  if (body) {
322
+ let sendData;
342
323
  if (body instanceof URLSearchParams) {
343
- this.m_libCurl_impl_.send(body + '');
324
+ sendData = body + '';
344
325
  }
345
326
  else {
346
- this.m_libCurl_impl_.send(body);
327
+ sendData = body;
347
328
  }
329
+ promise = this.m_libCurl_impl_.sendAsync(sendData);
348
330
  }
349
331
  else {
350
- this.m_libCurl_impl_.send();
332
+ promise = this.m_libCurl_impl_.sendAsync();
351
333
  }
334
+ return promise.finally(() => {
335
+ this.m_isSending_ = false;
336
+ });
352
337
  }
353
338
  getResponseBody() {
354
339
  this.checkSending();
@@ -1 +1 @@
1
- {"version":3,"file":"libcurl.js","sourceRoot":"","sources":["../src/libcurl.ts"],"names":[],"mappings":";;;;;;AAAA,wDAA+B;AAC/B,mCAA8D;AAE9D,MAAM,EAAE,UAAU,EAAE,GAAG,IAAA,kBAAQ,EAAC,qBAAqB,CAAC,CAAC;AAEvD,IAAY,sBAGX;AAHD,WAAY,sBAAsB;IAC9B,yEAAO,CAAA;IACP,qEAAK,CAAA;AACT,CAAC,EAHW,sBAAsB,GAAtB,8BAAsB,KAAtB,8BAAsB,QAGjC;AA0CD,IAAY,oBAGX;AAHD,WAAY,oBAAoB;IAC5B,uEAAa,CAAA;IACb,uEAAa,CAAA;AACjB,CAAC,EAHW,oBAAoB,GAApB,4BAAoB,KAApB,4BAAoB,QAG/B;AAED,IAAY,gBAyBX;AAzBD,WAAY,gBAAgB;IACxB,+DAAmB,CAAA;IACnB,wEAAuB,CAAA;IACvB,oEAAqB,CAAA;IACrB,oEAAqB,CAAA;IACrB,qFAA6B,CAAA;IAC7B,qFAA6B,CAAA;IAC7B,mFAA4B,CAAA;IAC5B,mFAA4B,CAAA;IAC5B,8FAAiC,CAAA;IACjC,8FAAiC,CAAA;IACjC,0GAAuC,CAAA;IACvC,+FAAiC,CAAA;IACjC,+FAAiC,CAAA;IACjC,2FAA+B,CAAA;IAC/B,2FAA+B,CAAA;IAC/B,6GAAwC,CAAA;IACxC,6GAAwC,CAAA;IACxC,yGAAsC,CAAA;IACtC,yGAAsC,CAAA;IACtC,mGAAmC,CAAA;IACnC,mGAAmC,CAAA;IACnC,yGAAsC,CAAA;IACtC,6GAAwC,CAAA;IACxC,yGAAsC,CAAA;AAC1C,CAAC,EAzBW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAyB3B;AAED,IAAY,mBAgCX;AAhCD,WAAY,mBAAmB;IAC3B,mGAA2B,CAAA;IAC3B,yGAA8B,CAAA;IAC9B,8GAAiC,CAAA;IACjC,sHAAqC,CAAA;IACrC,sFAAqB,CAAA;IACrB,0JAAuD,CAAA;IACvD,4FAAwB,CAAA;IACxB,0HAAuC,CAAA;IACvC,iJAAqD,CAAA;IACrD,gIAA0C,CAAA;IAC1C,8GAAiC,CAAA;IACjC,0GAA+B,CAAA;IAC/B,8GAAiC,CAAA;IACjC,0GAA+B,CAAA;IAC/B,kGAA2B,CAAA;IAC3B,kHAAmC,CAAA;IACnC,0FAAuB,CAAA;IACvB,0HAAuC,CAAA;IACvC,4HAAwC,CAAA;IACxC,gIAA0C,CAAA;IAC1C,gGAA0B,CAAA;IAC1B,uGAAgC,CAAA;IAChC,sHAAuC,CAAA;IACvC,yHAAwC,CAAA;IACxC,6HAA2C,CAAA;IAC3C,yHAAyC,CAAA;IACzC,wHAAsC,CAAA;IACtC,6GAAkC,CAAA;IAClC,qGAA8B,CAAA;IAC9B,gHAAkC,CAAA;IAClC,wHAAsC,CAAA;AAC1C,CAAC,EAhCW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAgC9B;AAED,IAAY,sBAOX;AAPD,WAAY,sBAAsB;IAC9B,sEAAY,CAAA;IACZ,sEAAY,CAAA;IACZ,sEAAY,CAAA;IACZ,wEAAW,CAAA;IACX,+EAAe,CAAA;IACf,+EAAe,CAAA;AACnB,CAAC,EAPW,sBAAsB,GAAtB,8BAAsB,KAAtB,8BAAsB,QAOjC;AAED,IAAY,uBAIX;AAJD,WAAY,uBAAuB;IAC/B,qFAAgB,CAAA;IAChB,6FAAoB,CAAA;IACpB,mGAAuB,CAAA;AAC3B,CAAC,EAJW,uBAAuB,GAAvB,+BAAuB,KAAvB,+BAAuB,QAIlC;AAED,MAAM,oCAAoC,GAA0B;IAChE,mBAAmB,CAAC,uBAAuB;IAC3C,mBAAmB,CAAC,kCAAkC;IACtD,mBAAmB,CAAC,kCAAkC;IACtD,mBAAmB,CAAC,uBAAuB;IAC3C,mBAAmB,CAAC,4BAA4B;IAChD,mBAAmB,CAAC,4BAA4B;IAChD,mBAAmB,CAAC,0BAA0B;IAC9C,mBAAmB,CAAC,kDAAkD;IACtE,mBAAmB,CAAC,0BAA0B;IAC9C,mBAAmB,CAAC,gCAAgC;IACpD,mBAAmB,CAAC,0BAA0B;IAC9C,mBAAmB,CAAC,iCAAiC;IACrD,mBAAmB,CAAC,sBAAsB;IAC1C,mBAAmB,CAAC,gBAAgB;IACpC,mBAAmB,CAAC,qBAAqB;IACzC,mBAAmB,CAAC,kCAAkC;IACtD,mBAAmB,CAAC,sBAAsB;IAC1C,mBAAmB,CAAC,8BAA8B;IAClD,mBAAmB,CAAC,kBAAkB;IACtC,mBAAmB,CAAC,qCAAqC;IACzD,mBAAmB,CAAC,4CAA4C;IAChE,mBAAmB,CAAC,4BAA4B;IAChD,mBAAmB,CAAC,gCAAgC;IACpD,mBAAmB,CAAC,gCAAgC;IACpD,mBAAmB,CAAC,6BAA6B;IACjD,mBAAmB,CAAC,0BAA0B;CAEjD,CAAA;AA+BD,MAAa,YAAa,SAAQ,KAAK;IACnC,YAAY,OAAe,EAAE,KAAc;QACvC,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC;SACvB;IACL,CAAC;CACJ;AAPD,oCAOC;AAED,MAAa,OAAO;IACR,eAAe,CAAM;IACrB,UAAU,CAAU;IACpB,YAAY,CAAU;IAC9B;QACI,IAAI,CAAC,eAAe,GAAG,IAAI,UAAU,EAAE,CAAC;IAI5C,CAAC;IACO,YAAY;QAChB,IAAI,IAAI,CAAC,YAAY,EAAE;YACnB,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAA;SAChG;IACL,CAAC;IACM,IAAI,CAAC,MAAyB,EAAE,GAAmB,EAAE,QAAiB,IAAI;QAC7E,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC5B,CAAC;IAEM,gBAAgB,CAAC,GAAW,EAAE,KAAa;QAC9C,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;IAMM,iBAAiB,CAAC,OAA2B;QAChD,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,OAAO,EAAE;YACV,OAAO;SACV;QACD,IAAI,OAAO,YAAY,GAAG,EAAE;YACxB,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAA;SACrF;aAAM,IAAI,OAAO,OAAO,IAAI,QAAQ,EAAE;YACnC,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;SACnD;aAAM,IAAI,OAAO,OAAO,IAAI,QAAQ,EAAE;YACnC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBACjC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC3B,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACtD,CAAC,CAAC,CAAA;SACL;aAAM;YACH,MAAM,IAAI,SAAS,CAAC,aAAa,CAAC,CAAA;SACrC;IACL,CAAC;IAQM,QAAQ,CAAC,QAA0B;QACtC,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,OAAO,QAAQ,IAAI,QAAQ,EAAE;YAC7B,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;SAC3C;aAAM;YACH,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;SACvF;IACL,CAAC;IAQM,UAAU,CAAC,WAAmB,EAAE,QAAgB;QACnD,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,WAAW,GAAG,QAAQ,EAAE;YACxB,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;SACpC;QACD,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAQM,SAAS,CAAC,SAAiC;QAC9C,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;IACtG,CAAC;IAOM,YAAY,CAAC,SAAiC;QACjD,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC;IAC/F,CAAC;IAMM,UAAU,CAAC,SAAmC;QACjD,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;QACnD,OAAO,IAAA,0BAAkB,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAA,uBAAe,EAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtI,CAAC;IAMM,aAAa,CAAC,SAAmC;QACpD,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;QACnD,OAAO,IAAA,0BAAkB,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAA,uBAAe,EAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAqB,EAAE,CAAyB,EAAE,EAAE;YAC/H,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;gBACR,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;gBACZ,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;gBACf,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBACV,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;gBACZ,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;gBACf,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;aACa,CAAC,CAAA;YAC7B,OAAO,CAAC,CAAC;QACb,CAAC,EAAE,IAAI,GAAG,EAAmC,CAAC,CAAC;IACnD,CAAC;IAQM,SAAS,CAAC,SAAiC;QAC9C,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC;IAC1G,CAAC;IAMM,kBAAkB;QACrB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC,eAAe,CAAC,kBAAkB,EAAE,CAAC;IACrD,CAAC;IAKM,qBAAqB;QACxB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,kBAAkB,EAAE,CAAC;QAC3D,OAAO,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;aACxB,KAAK,CAAC,CAAC,CAAC;aACR,MAAM,CAAC,CAAC,CAAqB,EAAE,CAAS,EAAE,EAAE;YACzC,IAAI,CAAC,CAAC,EAAE;gBACJ,OAAO,CAAC,CAAC;aACZ;YACD,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACnC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAClB,OAAO,CAAC,CAAC;QACb,CAAC,EAAE,IAAI,GAAG,EAAkB,CAAC,CAAC;IACtC,CAAC;IAOM,iBAAiB;QACpB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE,CAAC;IACpD,CAAC;IAMM,wBAAwB;QAC3B,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC,eAAe,CAAC,wBAAwB,EAAE,CAAC;IAC3D,CAAC;IAKM,KAAK;QACR,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IACjC,CAAC;IAMM,WAAW,CAAC,OAAgB;QAC/B,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC;IAKM,gBAAgB;QACnB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE,CAAC;IAC5C,CAAC;IAOM,cAAc,CAAC,OAA+B;QACjD,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;IAMM,eAAe,CAAC,OAA6B;QAChD,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;IAMM,iBAAiB,CAAC,GAA8B;QACnD,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnD,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE;YACpB,MAAM,IAAI,YAAY,CAAC,uBAAuB,CAAC,CAAA;SAClD;QACD,MAAM,UAAU,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;YACrC,MAAM,IAAI,YAAY,CAAC,uCAAuC,CAAC,CAAA;SAClE;QACD,IAAI,aAAa,GAAG,EAAE,CAAC;QACvB,MAAM,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAClD,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;YACrC,IAAI,CAAC,MAAM,EAAE;gBACT,MAAM,IAAI,YAAY,CAAC,0BAA0B,GAAG,aAAa,CAAC,CAAA;aACrE;YACD,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;gBAC3B,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAClD,IAAI,GAAG,IAAI,CAAC,CAAC,EAAE;oBACX,MAAM,IAAI,YAAY,CAAC,kCAAkC,GAAG,aAAa,CAAC,CAAA;iBAC7E;gBACD,aAAa,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;gBAC5B,OAAM;aACT;YACD,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEnB,MAAM,UAAU,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE;YAC5D,OAAO,SAAS,IAAI,IAAI,CAAA;QAC5B,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,qBAAqB,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;YACvD,MAAM,GAAG,GAAG,oCAAoC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACpE,IAAI,GAAG,IAAI,CAAC,CAAC,EAAE;gBACX,MAAM,IAAI,YAAY,CAAC,6BAA6B,SAAS,aAAa,CAAC,CAAA;aAC9E;YACD,OAAO,GAAG,GAAG,CAAC,CAAA;QAClB,CAAC,CACA,CAAC;QACF,MAAM,aAAa,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACtD,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,EAAE;gBAC9B,MAAM,IAAI,YAAY,CAAC,gCAAgC,GAAG,aAAa,CAAC,CAAA;aAC3E;YACD,OAAO,sBAAsB,CAAC,GAAG,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAMH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAClC,QAAQ,CAAC,UAAU,CAAC,EACpB,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EACnB,MAAM,CAAC,YAAY,CAAC,GAAG,aAAa,EAAE,CAAC,CAAC,EACxC,MAAM,CAAC,YAAY,CAAC,GAAG,qBAAqB,EAAE,CAAC,CAAC,EAChD,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,EACvB,CAAC,CACJ,CAAC;IACN,CAAC;IAOM,IAAI,CAAC,IAAsB;QAC9B,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,IAAI,CAAC,UAAU,EAAE;YACjB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACnC,MAAM,SAAS,GAAG,QAAQ,GAAG,IAAI,KAAK,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACzD,MAAM,QAAQ,GAAG,CAAC,QAAgB,EAAE,aAAqB,EAAE,EAAE;oBACzD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;oBAC1B,IAAI,QAAQ,IAAI,CAAC,EAAE;wBACf,MAAM,CAAC,IAAI,YAAY,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC;qBACtD;yBAAM;wBACH,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;qBACnB;gBACL,CAAC,CAAC;gBACF,IAAI,IAAI,EAAE;oBACN,IAAI,IAAI,YAAY,eAAe,EAAE;wBACjC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;qBACvD;yBAAM;wBACH,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;qBAClD;iBACJ;qBAAM;oBACH,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;iBAC5C;YACL,CAAC,CAAC,CAAA;SACL;QACD,IAAI,IAAI,EAAE;YACN,IAAI,IAAI,YAAY,eAAe,EAAE;gBACjC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;aACxC;iBAAM;gBACH,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACnC;SACJ;aAAM;YACH,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;SAC/B;IACL,CAAC;IAEM,eAAe;QAClB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,CAAC;IAClD,CAAC;IAEM,iBAAiB;QACpB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE,CAAC;IACpD,CAAC;IAEM,eAAe;QAClB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAChD,CAAC;CAGJ;AA9VD,0BA8VC"}
1
+ {"version":3,"file":"libcurl.js","sourceRoot":"","sources":["../src/libcurl.ts"],"names":[],"mappings":"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"}
package/dist/requests.js CHANGED
@@ -53,7 +53,7 @@ class requests {
53
53
  curl.printInnerLogger();
54
54
  }
55
55
  if (interface_) {
56
- curl.setDnsInterface(interface_);
56
+ curl.setInterface(interface_);
57
57
  }
58
58
  if (typeof httpVersion != 'undefined') {
59
59
  curl.setHttpVersion(httpVersion);
@@ -166,7 +166,7 @@ class requests {
166
166
  if (params) {
167
167
  assignURLSearchParam(url_.searchParams, new URLSearchParams(params));
168
168
  }
169
- curl.open(method, url_, true);
169
+ curl.open(method, url_);
170
170
  if (headers) {
171
171
  curl.setRequestHeaders(headers);
172
172
  }
@@ -1 +1 @@
1
- {"version":3,"file":"requests.js","sourceRoot":"","sources":["../src/requests.ts"],"names":[],"mappings":";;;AAAA,uCAA0P;AAC1P,mCAA8E;AAqB9E,MAAM,gBAAgB;IACV,IAAI,CAAU;IACtB,YAAY,IAAa;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;IACzC,CAAC;IAED,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;IACvC,CAAC;IAED,IAAW,MAAM;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;IACvC,CAAC;IAED,IAAW,OAAO;QACd,OAAO,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC1C,CAAC;IAED,IAAW,UAAU;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC7C,CAAC;IAED,IAAW,MAAM;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;IACzC,CAAC;IAED,IAAW,aAAa;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC;IAChD,CAAC;CAGJ;AA8CD,MAAM,oBAAoB,GAAG,CAAC,MAAuB,EAAE,MAAuB,EAAE,EAAE;IAC9E,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QAC1B,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAA;AACN,CAAC,CAAA;AAED,MAAa,QAAQ;IACT,MAAM,CAAqB;IAC3B,cAAc,CAAU;IACxB,GAAG,CAA4B;IAEvC,YAAY,SAA6B,EAAE;QACvC,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;QAC5B,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAC,QAAQ,GAAG,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;QAC9G,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,IAAI,iBAAO,EAAE,CAAC;QACpD,IAAI,OAAO,EAAE;YACT,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,OAAO,CAAC;SACnC;QACD,IAAI,OAAO,EAAE;YACT,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;SACrC;QACD,IAAI,OAAO,EAAE;YACT,IAAI,CAAC,gBAAgB,EAAE,CAAC;SAC3B;QACD,IAAI,UAAU,EAAE;YACZ,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;SACpC;QACD,IAAI,OAAO,WAAW,IAAI,WAAW,EAAE;YACnC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;SACpC;QACD,IAAI,QAAQ,EAAE;YACV,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SAC1B;QAED,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SACxB;QACD,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,IAAA,mCAA2B,GAAE,CAAC;QAChD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,SAA6B,EAAE;QAC1C,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAID,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAoB,EAAE,UAAiC;QACpE,OAAO,QAAQ,CAAC,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;IAC7D,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAoB,EAAE,UAAiC;QACrE,OAAO,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAoB,EAAE,UAAiC;QACpE,OAAO,QAAQ,CAAC,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;IAC7D,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAoB,EAAE,UAAiC;QACtE,OAAO,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;IAC/D,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAoB,EAAE,UAAiC;QACtE,OAAO,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;IAC/D,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAoB,EAAE,UAAiC;QACrE,OAAO,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;IAC9D,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,GAAoB,EAAE,UAA2B;QACvD,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;IACpD,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,GAAoB,EAAE,UAA2B;QACxD,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;IACrD,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,GAAoB,EAAE,UAA2B;QACvD,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;IACpD,CAAC;IACD,KAAK,CAAC,KAAK,CAAC,GAAoB,EAAE,UAA2B;QACzD,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;IACtD,CAAC;IACD,KAAK,CAAC,KAAK,CAAC,GAAoB,EAAE,UAA2B;QACzD,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;IACtD,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,GAAoB,EAAE,UAA2B;QACxD,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;IACrD,CAAC;IAED,SAAS,CAAC,GAAW,EAAE,KAAa,EAAE,MAAc,EAAE,OAAe,EAAE;QACnE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC3B,IAAI,EAAE,GAAG;YACT,KAAK;YACL,MAAM;YACN,IAAI;SACP,CAAC,CAAC;IACP,CAAC;IAED,SAAS,CAAC,GAAW,EAAE,MAAe,EAAE,IAAa;QACjD,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;YAClC,IAAI,EAAE,GAAG;YACT,MAAM,EAAE,MAAM,IAAI,EAAE;YACpB,IAAI,EAAE,IAAI,IAAI,EAAE;SACnB,CAAC,CAAA;IACN,CAAC;IAED,UAAU,CAAC,MAAe,EAAE,IAAa;QACrC,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE;YACvB,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;SAC5C;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;YACnC,MAAM,EAAE,MAAM,IAAI,EAAE;YACpB,IAAI,EAAE,IAAI,IAAI,EAAE;SACnB,CAAC,CAAA;IACN,CAAC;IACD,aAAa,CAAC,MAAe,EAAE,IAAa;QACxC,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE;YACvB,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;SAC/C;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC;YACtC,MAAM,EAAE,MAAM,IAAI,EAAE;YACpB,IAAI,EAAE,IAAI,IAAI,EAAE;SACnB,CAAC,CAAA;IACN,CAAC;IAED,YAAY,CAAC,GAAW,EAAE,MAAc,EAAE,IAAa;QACnD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC9B,IAAI,EAAE,GAAG;YACT,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,IAAI,GAAG;SACpB,CAAC,CAAA;IACN,CAAC;IAED,iBAAiB;QACb,OAAO;YACH,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,QAAQ,EAAE,IAAA,WAAG,EAAC,IAAI,CAAC,GAAG,CAAC;SAC1B,CAAC;IACN,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,MAA0B,EAAE,GAAoB,EAAE,UAA2B;QACnG,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAG,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QACtE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,IAAI,EAAE,CAAC;QAElE,IAAI,IAAI,IAAI,IAAI,EAAE;YACd,MAAM,IAAI,sBAAY,CAAC,0BAA0B,CAAC,CAAC;SACtD;QACD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAA,yBAAiB,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SAClF;QACD,IAAI,MAAM,EAAE;YACR,oBAAoB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;SACxE;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC9B,IAAI,OAAO,EAAE;YACT,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;SACnC;QAED,IAAI,OAAO,EAAE;YACT,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;SACrC;aAAM,IAAI,UAAU,EAAE;YACnB,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;SAC3C;QACD,IAAI,cAAc,GAAG,KAAK,CAAC;QAC3B,IAAI,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE;YAE3B,MAAM,iBAAiB,GAAG,CAAC,CAAW,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,EAAE,IAAI,cAAc,CAAC,CAAC;YAChG,IAAI,OAAO,OAAO,IAAI,QAAQ,EAAE;gBAC5B,cAAc,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAClD;iBAAM,IAAI,OAAO,YAAY,GAAG,EAAE;gBAC/B,cAAc,GAAG,iBAAiB,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;aAC3D;iBAAM;gBACH,cAAc,GAAG,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;aAC5D;SACJ;QACD,IAAI,IAAI,EAAE;YACN,IAAI,CAAC,cAAc,EAAE;gBACjB,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;aAC7D;YACD,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACzB;aAAM,IAAI,IAAI,EAAE;YACb,IAAI,QAAQ,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,cAAc,EAAE;gBACjB,IAAI,OAAO,IAAI,IAAI,QAAQ,EAAE;oBACzB,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;iBACvD;qBAAM,IAAI,IAAI,YAAY,eAAe,EAAE;oBACxC,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,mCAAmC,CAAC,CAAC;iBAC9E;qBAAM,IAAI,IAAI,YAAY,UAAU,EAAE;oBACnC,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,0BAA0B,CAAC,CAAC;iBACrE;qBAAM;oBACH,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,mCAAmC,CAAC,CAAC;iBAC9E;aACJ;YAED,IAAI,IAAI,YAAY,UAAU,EAAE;aAE/B;iBACI,IACD,CAAC,CAAC,IAAI,YAAY,eAAe,CAAC;gBAClC,OAAO,IAAI,IAAI,QAAQ,IAAI,IAAI,IAAI,IAAI,EACzC;gBACE,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBACnC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;oBACtB,MAAM,IAAI,GAAG,OAAO,KAAK,CAAC;oBAC1B,IAA2B,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;wBAE7D,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;qBACrC;yBAAM,IAAI,IAAI,IAAI,WAAW,EAAE;wBAC5B,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;qBAClB;yBAAM,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;wBAC5C,OAAO,CAAC,CAAC,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC;qBAC1B;yBAAM;wBACH,MAAM,IAAI,sBAAY,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAA;qBACrD;gBAEL,CAAC,CAAC;qBACG,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAmB,EAAE,EAAE,CAAC,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;qBAClG,IAAI,CAAC,GAAG,CAAC,CAAC;aAClB;YACD,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC7B;aAAM;YACH,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;SACrB;QACD,OAAO,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAA0B,EAAE,GAAoB,EAAE,gBAAuC;QAC3H,OAAO,QAAQ,CAAC,OAAO,CAAC,gBAAsC,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,gBAAgB,CAAC,CAAC;IAC/G,CAAC;CACJ;AA5ND,4BA4NC"}
1
+ {"version":3,"file":"requests.js","sourceRoot":"","sources":["../src/requests.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.1.2-alpha-6",
3
+ "version": "1.1.3-alpha-1",
4
4
  "dependencies": {
5
5
  "@mapbox/node-pre-gyp": "^1.0.10",
6
6
  "bindings": "^1.5.0",
package/readme.md CHANGED
@@ -65,7 +65,7 @@ console.log(res.text);
65
65
  ### winhttp style
66
66
  ```javascript
67
67
  const curl = new LibCurl();
68
- curl.open('POST', 'https://xxx.io/api/graphql/', true);
68
+ curl.open('POST', 'https://xxx.io/api/graphql/');
69
69
  curl.setRequestHeaders(`Host: xxx.io
70
70
  User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36
71
71
  Content-Type: application/octet-stream
@@ -10,12 +10,21 @@
10
10
  } \
11
11
  }
12
12
 
13
- std::vector<std::string> TLS_SUPPORT_CIPHERS = {"4865", "4866", "4867", "49195", "49199", "49196", "49200", "52393", "52392", "49171", "49172", "156", "157", "47", "53", "158", "159", "51", "57", "10", "49324", "49328", "4868", "4869", "49326", "4865"};
13
+ #define CHECK_CURLSHOK(e) \
14
+ { \
15
+ CURLSHcode code = (e); \
16
+ if (this->m_verbose && code != CURLcode::CURLE_OK) \
17
+ { \
18
+ printf("CURL Error:%s\n", curl_share_strerror(code)); \
19
+ } \
20
+ }
21
+
22
+ NAMESPACE_BAO_START
14
23
 
15
- size_t write_func(void *ptr, size_t size, size_t nmemb, std::string &stream)
24
+ size_t write_func(void* ptr, size_t size, size_t nmemb, std::string& stream)
16
25
  {
17
26
  const size_t resize = size * nmemb;
18
- std::string html_data(reinterpret_cast<const char *>(ptr), size * nmemb);
27
+ std::string html_data(reinterpret_cast<const char*>(ptr), size * nmemb);
19
28
  stream += html_data;
20
29
  return resize;
21
30
  }
@@ -28,6 +37,11 @@ BaoCurl::BaoCurl()
28
37
  BaoCurl::~BaoCurl()
29
38
  {
30
39
  assert(this->m_pCURL);
40
+ if (this->m_pHeaders)
41
+ {
42
+ curl_slist_free_all(this->m_pHeaders);
43
+ this->m_pHeaders = NULL;
44
+ }
31
45
  curl_easy_cleanup(this->m_pCURL);
32
46
  }
33
47
 
@@ -35,6 +49,7 @@ void BaoCurl::init()
35
49
  {
36
50
  this->m_pCURL = curl_easy_init();
37
51
  assert(this->m_pCURL);
52
+ CHECK_CURLSHOK(curl_share_setopt(this->m_pCURL, CURLSHOPT_SHARE, CURL_LOCK_DATA_DNS));
38
53
  CHECK_CURLOK(curl_easy_setopt(this->m_pCURL, CURLOPT_SSL_VERIFYPEER, 0L));
39
54
  CHECK_CURLOK(curl_easy_setopt(this->m_pCURL, CURLOPT_SSL_VERIFYHOST, 0L));
40
55
  CHECK_CURLOK(curl_easy_setopt(this->m_pCURL, CURLOPT_SSL_CIPHER_LIST, "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:DH-RSA-AES128-GCM-SHA256:AES128-SHA:AES256-SHA"));
@@ -42,10 +57,11 @@ void BaoCurl::init()
42
57
  CHECK_CURLOK(curl_easy_setopt(this->m_pCURL, CURLOPT_ACCEPT_ENCODING, ""));
43
58
  CHECK_CURLOK(curl_easy_setopt(this->m_pCURL, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1));
44
59
  CHECK_CURLOK(curl_easy_setopt(this->m_pCURL, CURLOPT_COOKIEFILE, NULL));
60
+ CHECK_CURLOK(curl_easy_setopt(this->m_pCURL, CURLOPT_PRIVATE, this));
45
61
  this->setTimeout(15, 15);
46
62
  }
47
63
 
48
- void BaoCurl::open(std::string &method, std::string &url)
64
+ void BaoCurl::open(std::string& method, std::string& url)
49
65
  {
50
66
  this->m_method = method;
51
67
  this->m_stream.header = "";
@@ -70,17 +86,17 @@ void BaoCurl::open(std::string &method, std::string &url)
70
86
  CHECK_CURLOK(curl_easy_setopt(this->m_pCURL, CURLOPT_CUSTOMREQUEST, method.c_str()));
71
87
  }
72
88
 
73
- void BaoCurl::setRequestHeader(std::string &key, std::string &value)
89
+ void BaoCurl::setRequestHeader(std::string& key, std::string& value)
74
90
  {
75
91
  this->m_pHeaders = curl_slist_append(this->m_pHeaders, (key + ": " + value).c_str());
76
92
  }
77
93
 
78
- void BaoCurl::setRequestHeader(std::string &keyValue)
94
+ void BaoCurl::setRequestHeader(std::string& keyValue)
79
95
  {
80
96
  this->m_pHeaders = curl_slist_append(this->m_pHeaders, keyValue.c_str());
81
97
  }
82
98
 
83
- void BaoCurl::setRequestHeaders(std::string &header)
99
+ void BaoCurl::setRequestHeaders(std::string& header)
84
100
  {
85
101
  auto arr = StringSplit(header, "\n");
86
102
  for (auto arr_b = arr.begin(); arr_b != arr.end(); ++arr_b)
@@ -94,14 +110,14 @@ void BaoCurl::setRequestHeaders(std::string &header)
94
110
  }
95
111
  }
96
112
 
97
- void BaoCurl::setProxy(std::string &proxy)
113
+ void BaoCurl::setProxy(std::string& proxy)
98
114
  {
99
115
  CHECK_CURLOK(curl_easy_setopt(this->m_pCURL, CURLOPT_PROXY, proxy.c_str()));
100
116
  this->m_bProxy = true;
101
117
  }
102
118
 
103
- void BaoCurl::setProxy(std::string &proxy, std::string &username,
104
- std::string &password)
119
+ void BaoCurl::setProxy(std::string& proxy, std::string& username,
120
+ std::string& password)
105
121
  {
106
122
  CHECK_CURLOK(curl_easy_setopt(this->m_pCURL, CURLOPT_PROXY, proxy.c_str()));
107
123
  CHECK_CURLOK(curl_easy_setopt(this->m_pCURL, CURLOPT_PROXYUSERPWD, (username + ":" + password).c_str()));
@@ -121,41 +137,7 @@ void BaoCurl::setTimeout(
121
137
  CHECK_CURLOK(curl_easy_setopt(this->m_pCURL, CURLOPT_TIMEOUT, sendTime));
122
138
  }
123
139
 
124
- void BaoCurl::send()
125
- {
126
- std::string empty = "";
127
- BaoCurl::send(empty);
128
- }
129
-
130
- void BaoCurl::send(std::string &data)
131
- {
132
- CHECK_CURLOK(curl_easy_setopt(this->m_pCURL, CURLOPT_HTTPHEADER, this->m_pHeaders));
133
- if (this->m_bProxy)
134
- {
135
- if (this->m_bIsHttps)
136
- {
137
- CHECK_CURLOK(curl_easy_setopt(this->m_pCURL, CURLOPT_HTTPPROXYTUNNEL, 1L));
138
- }
139
- else
140
- {
141
- CHECK_CURLOK(curl_easy_setopt(this->m_pCURL, CURLOPT_PROXYTYPE, CURLPROXY_HTTP));
142
- }
143
- }
144
- if (this->m_method == "POST" || this->m_method == "PUT" || this->m_method == "PATCH")
145
- {
146
- CHECK_CURLOK(curl_easy_setopt(this->m_pCURL, CURLOPT_POSTFIELDS, data.c_str()));
147
- CHECK_CURLOK(curl_easy_setopt(this->m_pCURL, CURLOPT_POSTFIELDSIZE, data.size()));
148
- }
149
- else
150
- {
151
- CHECK_CURLOK(curl_easy_setopt(this->m_pCURL, CURLOPT_NOBODY, data.size()));
152
- }
153
- CHECK_CURLOK(curl_easy_perform(this->m_pCURL));
154
- curl_slist_free_all(this->m_pHeaders);
155
- this->m_pHeaders = NULL;
156
- }
157
-
158
- void BaoCurl::sendByte(const char *data, const int len)
140
+ void BaoCurl::sendByte(const char* data, const int len)
159
141
  {
160
142
  CHECK_CURLOK(curl_easy_setopt(this->m_pCURL, CURLOPT_HTTPHEADER, this->m_pHeaders));
161
143
  if (this->m_bProxy)
@@ -172,12 +154,15 @@ void BaoCurl::sendByte(const char *data, const int len)
172
154
 
173
155
  if (this->m_method == "POST" || this->m_method == "PUT" || this->m_method == "PATCH")
174
156
  {
175
- CHECK_CURLOK(curl_easy_setopt(this->m_pCURL, CURLOPT_POSTFIELDS, data));
157
+ m_postdata = std::unique_ptr<const char[]>(new char[len]);
158
+ memcpy((void *)m_postdata.get(), data, len);
159
+
160
+ CHECK_CURLOK(curl_easy_setopt(this->m_pCURL, CURLOPT_POSTFIELDS, m_postdata.get()));
176
161
  CHECK_CURLOK(curl_easy_setopt(this->m_pCURL, CURLOPT_POSTFIELDSIZE, len));
177
162
  }
178
- CHECK_CURLOK(curl_easy_perform(this->m_pCURL));
163
+ /*CHECK_CURLOK(curl_easy_perform(this->m_pCURL));
179
164
  curl_slist_free_all(this->m_pHeaders);
180
- this->m_pHeaders = NULL;
165
+ this->m_pHeaders = NULL;*/
181
166
  }
182
167
 
183
168
  /* Hostname */
@@ -187,23 +172,23 @@ void BaoCurl::sendByte(const char *data, const int len)
187
172
  /* Expiry in epoch time format. 0 == Session */
188
173
  /* Name */
189
174
  /* Value */
190
- void BaoCurl::setCookie(std::string &key, std::string &value, std::string &domain, std::string &path)
175
+ void BaoCurl::setCookie(std::string& key, std::string& value, std::string& domain, std::string& path)
191
176
  {
192
177
  CHECK_CURLOK(curl_easy_setopt(this->m_pCURL, CURLOPT_COOKIELIST, StringFormat("%s\tTRUE\t%s\tFALSE\t0\t%s\t%s", domain.c_str(), path.c_str(), key.c_str(), value.c_str()).c_str()));
193
178
  // CHECK_CURLOK(curl_easy_setopt(this->m_pCURL, CURLOPT_COOKIELIST, StringFormat("Set-Cookie: %s=%s; domain=%s; path=%s;", key.c_str(), value.c_str(), domain.c_str(), path.c_str()).c_str()));
194
179
  }
195
180
 
196
- void BaoCurl::deleteCookie(std::string &key, std::string &domain, std::string &path)
181
+ void BaoCurl::deleteCookie(std::string& key, std::string& domain, std::string& path)
197
182
  {
198
183
  CHECK_CURLOK(curl_easy_setopt(this->m_pCURL, CURLOPT_COOKIELIST, StringFormat("%s\tTURE\t%s\tFALSE\t1600000000\t%s\t%s", domain.c_str(), path.c_str(), key.c_str(), "").c_str()));
199
184
  }
200
185
 
201
186
  std::string BaoCurl::getCookies()
202
187
  {
203
- struct curl_slist *cookies = NULL;
188
+ struct curl_slist* cookies = NULL;
204
189
  std::string str;
205
190
  CHECK_CURLOK(curl_easy_getinfo(this->m_pCURL, CURLINFO_COOKIELIST, &cookies));
206
- struct curl_slist *cookiesOrign = cookies;
191
+ struct curl_slist* cookiesOrign = cookies;
207
192
 
208
193
  if (!cookies)
209
194
  {
@@ -219,12 +204,12 @@ std::string BaoCurl::getCookies()
219
204
  return str;
220
205
  }
221
206
 
222
- std::string BaoCurl::getCookie(std::string &key, std::string &domain, std::string &path)
207
+ std::string BaoCurl::getCookie(std::string& key, std::string& domain, std::string& path)
223
208
  {
224
- struct curl_slist *cookies = NULL;
209
+ struct curl_slist* cookies = NULL;
225
210
  std::string str = "";
226
211
  CHECK_CURLOK(curl_easy_getinfo(this->m_pCURL, CURLINFO_COOKIELIST, &cookies));
227
- struct curl_slist *cookiesOrign = cookies;
212
+ struct curl_slist* cookiesOrign = cookies;
228
213
  if (!cookies)
229
214
  {
230
215
  return "";
@@ -277,6 +262,7 @@ void BaoCurl::setRedirect(bool isAllow)
277
262
  }
278
263
  void BaoCurl::printInnerLogger()
279
264
  {
265
+ this->m_verbose = true;
280
266
  CHECK_CURLOK(curl_easy_setopt(this->m_pCURL, CURLOPT_VERBOSE, 1L));
281
267
  }
282
268
 
@@ -303,7 +289,7 @@ unsigned int BaoCurl::getLastCurlCode()
303
289
  return this->m_lastCode;
304
290
  }
305
291
 
306
- const char *BaoCurl::getLastCurlCodeError()
292
+ const char* BaoCurl::getLastCurlCodeError()
307
293
  {
308
294
  return curl_easy_strerror(this->m_lastCode);
309
295
  }
@@ -315,13 +301,13 @@ curl_off_t BaoCurl::getResponseContentLength()
315
301
  return size;
316
302
  }
317
303
 
318
- void BaoCurl::setDnsInterface(std::string &network)
304
+ void BaoCurl::setInterface(std::string& network)
319
305
  {
320
- CHECK_CURLOK(curl_easy_setopt(this->m_pCURL, CURLOPT_DNS_INTERFACE, network.c_str()));
306
+ CHECK_CURLOK(curl_easy_setopt(this->m_pCURL, CURLOPT_INTERFACE, network.c_str()));
321
307
  }
322
308
 
323
309
  void BaoCurl::setJA3Fingerprint(
324
- int tls_version, std::string &cipher, std::string &tls13_cipher, std::string &extensions, std::string &support_groups, int ec_point_formats)
310
+ int tls_version, std::string& cipher, std::string& tls13_cipher, std::string& extensions, std::string& support_groups, int ec_point_formats)
325
311
  {
326
312
 
327
313
  CHECK_CURLOK(curl_easy_setopt(this->m_pCURL, CURLOPT_SSLVERSION, CURL_SSLVERSION_MAX_TLSv1_0 | CURL_SSLVERSION_MAX_TLSv1_1 | CURL_SSLVERSION_MAX_TLSv1_2 | CURL_SSLVERSION_MAX_TLSv1_3));
@@ -340,6 +326,13 @@ void BaoCurl::setJA3Fingerprint(
340
326
  tmp2[i] = i+1;
341
327
  } */
342
328
  // tmp2[25]=0;
343
-
329
+
344
330
  CHECK_CURLOK(curl_easy_setopt(this->m_pCURL, CURLOPT_TLS_EXTENSION_PERMUTATION/* 10316 */, extensions.c_str()));
345
- }
331
+ }
332
+
333
+ void BaoCurl::setOnPublishCallback(BaoCurlOnPublishCallback callback) {
334
+ this->m_publishCallback = callback;
335
+ }
336
+
337
+
338
+ NAMESPACE_BAO_END
@@ -0,0 +1,123 @@
1
+ #include "bao_curl.h"
2
+
3
+ #define CHECK_CURLMOK(e) \
4
+ { \
5
+ CURLMcode code = (e); \
6
+ this->m_lastCode = code; \
7
+ if (code != CURLMcode::CURLM_OK) \
8
+ { \
9
+ printf("CURLM Error:%s\n", curl_multi_strerror(code)); \
10
+ } \
11
+ }
12
+ NAMESPACE_BAO_START
13
+
14
+ BaoCurlMulti::BaoCurlMulti()
15
+ {
16
+ this->m_pCURLM = curl_multi_init();
17
+ CHECK_CURLMOK(curl_multi_setopt(this->m_pCURLM, CURLMOPT_PIPELINING));
18
+ this->m_bRunning = true;
19
+ }
20
+
21
+ BaoCurlMulti::~BaoCurlMulti()
22
+ {
23
+ this->m_lock.lock();
24
+ this->m_bRunning = false;
25
+ this->m_lock.unlock();
26
+ if (this->m_pCURLM != nullptr)
27
+ {
28
+ this->m_thread.join(); // 等待执行完在销毁
29
+ curl_multi_cleanup(this->m_pCURLM);
30
+ this->m_pCURLM = nullptr;
31
+ }
32
+ }
33
+
34
+ void BaoCurlMulti::pushQueue(BaoCurl &curl)
35
+ {
36
+ this->m_lock.lock();
37
+ CHECK_CURLMOK(curl_multi_add_handle(this->m_pCURLM, curl.m_pCURL));
38
+ this->m_lock.unlock();
39
+ }
40
+
41
+ void BaoCurlMulti::startThread()
42
+ {
43
+ auto callback = [&]()
44
+ {
45
+ while (true)
46
+ {
47
+ this->m_lock.lock();
48
+ bool isRunning = this->m_bRunning;
49
+ this->m_lock.unlock();
50
+ if (!isRunning)
51
+ {
52
+ break;
53
+ }
54
+
55
+ int running;
56
+ do
57
+ {
58
+ this->m_lock.lock();
59
+ CURLMcode mc = curl_multi_perform(this->m_pCURLM, &running);
60
+ this->m_lock.unlock();
61
+ CHECK_CURLMOK(mc);
62
+ if (running)
63
+ {
64
+ mc = curl_multi_poll(this->m_pCURLM, NULL, 0, 1000, NULL);
65
+ if (mc)
66
+ {
67
+
68
+ CHECK_CURLMOK(mc);
69
+ break;
70
+ }
71
+ }
72
+ int ret = 0;
73
+ while (true)
74
+ {
75
+ this->m_lock.lock();
76
+ CURLMsg *msg = curl_multi_info_read(this->m_pCURLM, &ret);
77
+ this->m_lock.unlock();
78
+
79
+ if (!(msg && msg->msg == CURLMSG_DONE))
80
+ {
81
+ break;
82
+ }
83
+ CURL *handle = msg->easy_handle;
84
+
85
+ this->m_lock.lock();
86
+ CHECK_CURLMOK(curl_multi_remove_handle(this->m_pCURLM, handle));
87
+ BaoCurl *pCurl = nullptr;
88
+ curl_easy_getinfo(handle, CURLINFO_PRIVATE, &pCurl);
89
+ this->m_lock.unlock();
90
+
91
+ if (pCurl)
92
+ {
93
+ pCurl->m_postdata.reset(); // 释放内存
94
+ pCurl->m_lastCode = msg->data.result;
95
+ if (pCurl->m_publishCallback)
96
+ {
97
+ bool success = pCurl->m_lastCode == CURLE_OK;
98
+ std::string errMsg = success ? "" : pCurl->getLastCurlCodeError();
99
+ auto &callbackPtr = pCurl->m_publishCallback;
100
+ (*callbackPtr)(success, errMsg);
101
+ callbackPtr.reset(); // 减少引用计数
102
+
103
+ /* callback->NonBlockingCall(
104
+ [success, callback](Napi::Env env, Napi::Function jsCallback)
105
+ {
106
+ callback->Unref(env);
107
+ jsCallback.Call({Napi::Boolean::New(env, success)});
108
+ }); */
109
+ }
110
+ }
111
+ else
112
+ {
113
+ std::cout << "ptr is nullptr" << std::endl;
114
+ }
115
+ };
116
+
117
+ } while (running);
118
+ }
119
+ };
120
+ this->m_thread = std::thread(callback);
121
+ }
122
+
123
+ NAMESPACE_BAO_END
@@ -2,17 +2,22 @@
2
2
  #include <iostream>
3
3
  #include "bao_curl.h"
4
4
  #include "request_tls_utils.h"
5
- #include "curlAysncWorker.h"
6
5
 
7
6
  using namespace std;
7
+ using namespace bao;
8
+
9
+ BaoCurlMulti *g_curlMulti = nullptr;
8
10
 
9
11
  void initLibCurl()
10
12
  {
11
13
  curl_global_init(CURL_GLOBAL_ALL);
14
+ g_curlMulti = new BaoCurlMulti();
15
+ g_curlMulti->startThread();
12
16
  }
13
17
 
14
18
  void uninitLibCurl()
15
19
  {
20
+ delete g_curlMulti;
16
21
  curl_global_cleanup();
17
22
  }
18
23
 
@@ -40,7 +45,7 @@ private:
40
45
  Napi::Value setRedirect(const Napi::CallbackInfo &info);
41
46
  Napi::Value printInnerLogger(const Napi::CallbackInfo &info);
42
47
  Napi::Value setHttpVersion(const Napi::CallbackInfo &info);
43
- Napi::Value setDnsInterface(const Napi::CallbackInfo &info);
48
+ Napi::Value setInterface(const Napi::CallbackInfo &info);
44
49
  Napi::Value setJA3Fingerprint(const Napi::CallbackInfo &info);
45
50
  Napi::Value send(const Napi::CallbackInfo &info);
46
51
  Napi::Value sendAsync(const Napi::CallbackInfo &info);
@@ -48,6 +53,10 @@ private:
48
53
  Napi::Value getResponseString(const Napi::CallbackInfo &info);
49
54
  Napi::Value getResponseHeaders(const Napi::CallbackInfo &info);
50
55
  Napi::Value getResponseContentLength(const Napi::CallbackInfo &info);
56
+
57
+ // static Napi::Value multiExecute(const Napi::CallbackInfo &info);
58
+ static Napi::Value globalInit(const Napi::CallbackInfo &info);
59
+ static Napi::Value globalCleanup(const Napi::CallbackInfo &info);
51
60
  };
52
61
 
53
62
  Napi::Object BaoLibCurlWarp::Init(Napi::Env env, Napi::Object exports)
@@ -65,8 +74,11 @@ Napi::Object BaoLibCurlWarp::Init(Napi::Env env, Napi::Object exports)
65
74
  InstanceMethod<&BaoLibCurlWarp::sendAsync>("sendAsync", static_cast<napi_property_attributes>(napi_writable | napi_configurable)),
66
75
  InstanceMethod<&BaoLibCurlWarp::getResponseHeaders>("getResponseHeaders", static_cast<napi_property_attributes>(napi_writable | napi_configurable)),
67
76
  InstanceMethod<&BaoLibCurlWarp::getResponseContentLength>("getResponseContentLength", static_cast<napi_property_attributes>(napi_writable | napi_configurable)),
68
- InstanceMethod<&BaoLibCurlWarp::setDnsInterface>("setDnsInterface", static_cast<napi_property_attributes>(napi_writable | napi_configurable)),
77
+ InstanceMethod<&BaoLibCurlWarp::setInterface>("setInterface", static_cast<napi_property_attributes>(napi_writable | napi_configurable)),
69
78
  InstanceMethod<&BaoLibCurlWarp::setJA3Fingerprint>("setJA3Fingerprint", static_cast<napi_property_attributes>(napi_writable | napi_configurable)),
79
+ // StaticMethod<&BaoLibCurlWarp::multiExecute>("multiExecute", static_cast<napi_property_attributes>(napi_writable | napi_configurable)),
80
+ StaticMethod<&BaoLibCurlWarp::globalInit>("globalInit", static_cast<napi_property_attributes>(napi_writable | napi_configurable)),
81
+ StaticMethod<&BaoLibCurlWarp::globalCleanup>("globalCleanup", static_cast<napi_property_attributes>(napi_writable | napi_configurable)),
70
82
  // StaticMethod<&BaoLibCurlWarp::CreateNewItem>("CreateNewItem", static_cast<napi_property_attributes>(napi_writable | napi_configurable)),
71
83
  };
72
84
  Napi::Function func = DefineClass(env, "BaoLibCurl", methodList);
@@ -79,8 +91,6 @@ Napi::Object BaoLibCurlWarp::Init(Napi::Env env, Napi::Object exports)
79
91
  BaoLibCurlWarp::BaoLibCurlWarp(const Napi::CallbackInfo &info)
80
92
  : Napi::ObjectWrap<BaoLibCurlWarp>(info)
81
93
  {
82
- // cout << "BaoLibCurlWarp Initilaze" << endl;
83
- // this->m_curl.printInnerLogger();
84
94
  }
85
95
 
86
96
  BaoLibCurlWarp::~BaoLibCurlWarp()
@@ -335,16 +345,16 @@ Napi::Value BaoLibCurlWarp::setHttpVersion(const Napi::CallbackInfo &info)
335
345
  }
336
346
 
337
347
  /*
338
- setDnsInterface(double)
348
+ setInterface(string)
339
349
  */
340
- Napi::Value BaoLibCurlWarp::setDnsInterface(const Napi::CallbackInfo &info)
350
+ Napi::Value BaoLibCurlWarp::setInterface(const Napi::CallbackInfo &info)
341
351
  {
342
352
  Napi::Env env = info.Env();
343
353
  size_t argsLen = info.Length();
344
- REQUEST_TLS_METHOD_ARGS_CHECK(env, "BaoCurl", "setDnsInterface", 1, argsLen);
354
+ REQUEST_TLS_METHOD_ARGS_CHECK(env, "BaoCurl", "setInterface", 1, argsLen);
345
355
  REQUEST_TLS_METHOD_CHECK(env, info[0].IsString(), "argument 0 is not a string")
346
356
  std::string network = info[0].As<Napi::String>().Utf8Value();
347
- this->m_curl.setDnsInterface(network);
357
+ this->m_curl.setInterface(network);
348
358
 
349
359
  return env.Undefined();
350
360
  }
@@ -375,8 +385,7 @@ Napi::Value BaoLibCurlWarp::setJA3Fingerprint(const Napi::CallbackInfo &info)
375
385
  tls13_ciphers,
376
386
  extensions,
377
387
  supportGroups,
378
- ecPointFormat
379
- );
388
+ ecPointFormat);
380
389
 
381
390
  return env.Undefined();
382
391
  }
@@ -390,7 +399,7 @@ Napi::Value BaoLibCurlWarp::send(const Napi::CallbackInfo &info)
390
399
  size_t argsLen = info.Length();
391
400
  if (argsLen == 0 || info[0].IsNull())
392
401
  {
393
- this->m_curl.send();
402
+ this->m_curl.sendByte(nullptr, 0);
394
403
  return env.Undefined();
395
404
  }
396
405
  REQUEST_TLS_METHOD_ARGS_TOO_MUCH_CHECK(env, "BaoCurl", "send", 1, argsLen)
@@ -404,12 +413,12 @@ Napi::Value BaoLibCurlWarp::send(const Napi::CallbackInfo &info)
404
413
  if (info[0].IsString())
405
414
  {
406
415
  string str = info[0].As<Napi::String>().Utf8Value();
407
- this->m_curl.send(str);
416
+ this->m_curl.sendByte(str.data(), str.size());
408
417
  return env.Undefined();
409
418
  }
410
419
  vector<Napi::Value> argsList{info[0].As<Napi::Value>()};
411
420
  string jsonStr = env.Global().Get("JSON").As<Napi::Object>().Get("stringify").As<Napi::Function>().Call(argsList).As<Napi::String>().Utf8Value();
412
- this->m_curl.send(jsonStr);
421
+ this->m_curl.sendByte(jsonStr.data(), jsonStr.size());
413
422
  return env.Undefined();
414
423
  }
415
424
 
@@ -420,44 +429,62 @@ Napi::Value BaoLibCurlWarp::sendAsync(const Napi::CallbackInfo &info)
420
429
  {
421
430
  Napi::Env env = info.Env();
422
431
  size_t argsLen = info.Length();
423
- curlAsyncWorker *workerPtr;
424
- if (argsLen == 1 || info[0].IsFunction())
432
+ Napi::Promise::Deferred deferred = Napi::Promise::Deferred::New(env);
433
+
434
+ Napi::ThreadSafeFunction *tsfn = new Napi::ThreadSafeFunction;
435
+ *tsfn = Napi::ThreadSafeFunction::New(
436
+ env,
437
+ Napi::Function::New(env, [env, deferred](const Napi::CallbackInfo &info)
438
+ {
439
+ bool success = info[0].As<Napi::Boolean>().Value();
440
+ if (success)
441
+ {
442
+ deferred.Resolve(env.Undefined());
443
+ } else {
444
+ Napi::String errMsg = info[1].As<Napi::String>();
445
+ deferred.Reject(errMsg);
446
+ } }),
447
+ "Test", 0, 1, [tsfn](Napi::Env env)
448
+ { delete tsfn; });
449
+ auto &callbackPtr =
450
+ std::make_shared<std::function<void(bool, std::string)>>([tsfn](bool success, std::string errMsg)
451
+ { tsfn->NonBlockingCall(
452
+ [tsfn, success, errMsg](Napi::Env env, Napi::Function jsCallback)
453
+ {
454
+ tsfn->Unref(env);
455
+ jsCallback.Call({Napi::Boolean::New(env, success), Napi::String::New(env, errMsg.c_str())});
456
+ }); });
457
+
458
+ this->m_curl.setOnPublishCallback(callbackPtr);
459
+
460
+ if (argsLen > 0)
425
461
  {
426
- workerPtr = new curlAsyncWorker(info[0].As<Napi::Function>(), this->m_curl, nullptr, 0);
427
- workerPtr->Queue();
428
- return env.Undefined();
462
+ if (info[0].IsTypedArray())
463
+ {
464
+ Napi::Uint8Array u8Arr = info[0].As<Napi::Uint8Array>();
465
+ this->m_curl.sendByte(reinterpret_cast<const char *>(u8Arr.Data()), u8Arr.ByteLength());
466
+ }
467
+ else if (info[0].IsString())
468
+ {
469
+ string str = info[0].As<Napi::String>().Utf8Value();
470
+ size_t strLen = str.size();
471
+ this->m_curl.sendByte(str.c_str(), strLen);
472
+ }
473
+ else
474
+ {
475
+ vector<Napi::Value> argsList{info[0].As<Napi::Value>()};
476
+ string jsonStr = env.Global().Get("JSON").As<Napi::Object>().Get("stringify").As<Napi::Function>().Call(argsList).As<Napi::String>().Utf8Value();
477
+ size_t strLen = jsonStr.size();
478
+ this->m_curl.sendByte(jsonStr.c_str(), strLen);
479
+ }
429
480
  }
430
- if (argsLen > 2)
481
+ else
431
482
  {
432
- REQUEST_TLS_METHOD_ARGS_TOO_MUCH_CHECK(env, "BaoCurl", "send", 2, argsLen)
483
+ this->m_curl.sendByte(nullptr, 0);
433
484
  }
434
485
 
435
- if (info[0].IsTypedArray())
436
- {
437
- Napi::Uint8Array u8Arr = info[0].As<Napi::Uint8Array>();
438
- workerPtr = new curlAsyncWorker(info[1].As<Napi::Function>(), this->m_curl, (const char *)u8Arr.Data(), u8Arr.ElementLength());
439
- workerPtr->Queue();
440
- // this->m_curl.sendByte(reinterpret_cast<const char *>(utf8Buffer), u8Arr.ByteLength());
441
- return env.Undefined();
442
- }
443
- if (info[0].IsString())
444
- {
445
- string str = info[0].As<Napi::String>().Utf8Value();
446
- size_t strLen = str.size();
447
- Napi::Uint8Array u8buffer = Napi::Uint8Array::New(env, strLen);
448
- memcpy(u8buffer.Data(), str.c_str(), strLen);
449
- workerPtr = new curlAsyncWorker(info[1].As<Napi::Function>(), this->m_curl, (const char *)u8buffer.Data(), u8buffer.ElementLength());
450
- workerPtr->Queue();
451
- return env.Undefined();
452
- }
453
- vector<Napi::Value> argsList{info[0].As<Napi::Value>()};
454
- string jsonStr = env.Global().Get("JSON").As<Napi::Object>().Get("stringify").As<Napi::Function>().Call(argsList).As<Napi::String>().Utf8Value();
455
- size_t strLen = jsonStr.size();
456
- Napi::Uint8Array u8buffer = Napi::Uint8Array::New(env, strLen);
457
- memcpy(u8buffer.Data(), jsonStr.c_str(), strLen);
458
- workerPtr = new curlAsyncWorker(info[1].As<Napi::Function>(), this->m_curl, (const char *)u8buffer.Data(), u8buffer.ElementLength());
459
- workerPtr->Queue();
460
- return env.Undefined();
486
+ g_curlMulti->pushQueue(this->m_curl);
487
+ return deferred.Promise();
461
488
  }
462
489
 
463
490
  /*
@@ -493,11 +520,23 @@ Napi::Value BaoLibCurlWarp::getResponseString(const Napi::CallbackInfo &info)
493
520
  return Napi::String::New(env, this->m_curl.getResponseBody());
494
521
  }
495
522
 
523
+ Napi::Value BaoLibCurlWarp::globalInit(const Napi::CallbackInfo &info)
524
+ {
525
+ initLibCurl();
526
+ return info.Env().Undefined();
527
+ }
528
+
529
+ Napi::Value BaoLibCurlWarp::globalCleanup(const Napi::CallbackInfo &info)
530
+ {
531
+ uninitLibCurl();
532
+ return info.Env().Undefined();
533
+ }
534
+
496
535
  // Initialize native add-on
497
536
  Napi::Object Init(Napi::Env env, Napi::Object exports)
498
537
  {
499
- initLibCurl();
538
+
500
539
  BaoLibCurlWarp::Init(env, exports);
501
540
  return exports;
502
541
  }
503
- NODE_API_MODULE(requests_tls, Init)
542
+ NODE_API_MODULE(bao_curl_node_addon, Init)
@@ -1,10 +1,18 @@
1
1
  #pragma once
2
2
  #ifndef _CURL_H
3
3
  #define _CURL_H
4
+ #define NAMESPACE_BAO_START namespace bao {
5
+ #define NAMESPACE_BAO_END }
4
6
 
7
+ #include <napi.h>
5
8
  #include "curl/curl.h"
6
9
  #include "utils.h"
7
10
 
11
+ NAMESPACE_BAO_START
12
+
13
+ // typedef Napi::ThreadSafeFunction* BaoCurlOnPublishCallback;
14
+ typedef std::shared_ptr<std::function<void (bool, std::string)>> BaoCurlOnPublishCallback;
15
+
8
16
  struct Stream_st
9
17
  {
10
18
  std::string header;
@@ -16,17 +24,17 @@ class BaoCurl
16
24
  public:
17
25
  BaoCurl();
18
26
  ~BaoCurl();
19
- void open(std::string &, std::string &);
20
- void setRequestHeader(std::string &, std::string &);
21
- void setRequestHeader(std::string &);
22
- void setRequestHeaders(std::string &);
27
+ void open(std::string&, std::string&);
28
+ void setRequestHeader(std::string&, std::string&);
29
+ void setRequestHeader(std::string&);
30
+ void setRequestHeaders(std::string&);
23
31
  /*
24
32
  * setProxy必须在open后 send前设置
25
33
  * 在send后失效 需重新设置
26
34
  */
27
- void setProxy(std::string &);
28
- void setProxy(std::string &, std::string &,
29
- std::string &);
35
+ void setProxy(std::string&);
36
+ void setProxy(std::string&, std::string&,
37
+ std::string&);
30
38
  /*
31
39
  * setTimeout必须在open后 send前设置
32
40
  * 在send后失效 需重新设置
@@ -38,28 +46,28 @@ public:
38
46
  /*
39
47
  * 设置单条Cookie
40
48
  */
41
- void setCookie(std::string &key, std::string &value, std::string &domain, std::string &path);
49
+ void setCookie(std::string& key, std::string& value, std::string& domain, std::string& path);
42
50
  /*
43
51
  * 移除单条Cookie
44
52
  */
45
- void deleteCookie(std::string &key, std::string &domain, std::string &path);
46
- void send();
47
- void send(std::string &);
48
- void sendByte(const char *, const int);
53
+ void deleteCookie(std::string& key, std::string& domain, std::string& path);
54
+ void sendByte(const char*, const int);
49
55
  /*
50
56
  * 重置Curl 此前的操作全部失效
51
57
  */
52
58
  void reset();
53
59
 
54
60
  std::string getCookies();
55
- std::string getCookie(std::string &key, std::string &domain, std::string &path);
61
+ std::string getCookie(std::string& key, std::string& domain, std::string& path);
56
62
  std::string getResponseHeaders() { return this->m_stream.header; };
57
63
  std::string getResponseBody() { return this->m_stream.responseText; };
58
64
  long getResponseStatus();
59
65
  void setRedirect(bool isAllow); // 重定向
60
66
  void printInnerLogger(); // 打印内部日志
61
- void setDnsInterface(std::string &network); // 指定网卡访问
62
- void setJA3Fingerprint(int tls_version, std::string &cipher, std::string &tls13_cipher, std::string &extensions, std::string &support_groups, int ec_point_formats);
67
+ void setInterface(std::string& network); // 指定网卡访问
68
+ void setJA3Fingerprint(int tls_version, std::string& cipher, std::string& tls13_cipher, std::string& extensions, std::string& support_groups, int ec_point_formats);
69
+
70
+ void setOnPublishCallback(BaoCurlOnPublishCallback callback);
63
71
 
64
72
  enum HttpVersion
65
73
  {
@@ -68,12 +76,13 @@ public:
68
76
  };
69
77
  void setHttpVersion(HttpVersion);
70
78
  unsigned int getLastCurlCode();
71
- const char *getLastCurlCodeError();
79
+ const char* getLastCurlCodeError();
72
80
  curl_off_t getResponseContentLength();
81
+ friend class BaoCurlMulti;
73
82
 
74
83
  private:
75
- CURL *m_pCURL = NULL;
76
- struct curl_slist *m_pHeaders = NULL;
84
+ CURL* m_pCURL = NULL;
85
+ struct curl_slist* m_pHeaders = NULL;
77
86
  std::string m_method = "GET";
78
87
  struct Stream_st m_stream;
79
88
  // struct curl_slist* m_cookies = NULL;
@@ -81,8 +90,28 @@ private:
81
90
  bool m_bIsHttps = false;
82
91
  bool m_verbose = false;
83
92
  CURLcode m_lastCode;
84
-
93
+ BaoCurlOnPublishCallback m_publishCallback = nullptr;
85
94
  void init();
95
+
96
+ std::unique_ptr<const char[]> m_postdata;
97
+ };
98
+
99
+ class BaoCurlMulti {
100
+ public:
101
+ BaoCurlMulti();
102
+ ~BaoCurlMulti();
103
+ void pushQueue(BaoCurl& curl);
104
+ void startThread();
105
+ private:
106
+ CURLM* m_pCURLM = nullptr;
107
+ CURLMcode m_lastCode;
108
+ std::mutex m_lock;
109
+
110
+ bool m_bRunning = true;
111
+ std::thread m_thread;
112
+
86
113
  };
87
114
 
115
+ NAMESPACE_BAO_END
116
+
88
117
  #endif // !_CURL_H
@@ -8,6 +8,9 @@
8
8
  #include <stdlib.h>
9
9
  #include <time.h>
10
10
  #include <memory>
11
+ #include <mutex>
12
+ #include <functional>
13
+ #include <thread>
11
14
 
12
15
  std::vector<std::string> StringSplit(const std::string& str, const std::string& pattern);
13
16
  template<typename ... Args>
@@ -1,46 +0,0 @@
1
- #include "curlAysncWorker.h"
2
-
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
- }
10
-
11
- curlAsyncWorker::~curlAsyncWorker()
12
- {
13
- free(m_sendBody);
14
- }
15
-
16
- // Executed inside the worker-thread.
17
- // It is not safe to access JS engine data structure
18
- // here, so everything we need for input and output
19
- // should go on `this`.
20
- void curlAsyncWorker::Execute()
21
- {
22
- this->m_baoCurlInstance.sendByte(this->m_sendBody, this->m_bodySize);
23
- this->m_lastCurlCode = this->m_baoCurlInstance.getLastCurlCode();
24
- if (this->m_lastCurlCode != 0)
25
- {
26
- this->m_lastCurlCodeError = this->m_baoCurlInstance.getLastCurlCodeError();
27
- }
28
-
29
- }
30
-
31
- // Executed when the async work is complete
32
- // this function will be run inside the main event loop
33
- // so it is safe to use JS engine data again
34
- void curlAsyncWorker::OnOK()
35
- {
36
- Napi::Env env = Env();
37
- Napi::HandleScope scope(env);
38
- /* std::string str = this->m_baoCurlInstance.getResponseBody();
39
- size_t strLen = str.size();
40
- Napi::Uint8Array u8buffer = Napi::Uint8Array::New(Env(), strLen);
41
- memcpy(u8buffer.Data(), strLen, str.c_str(), strLen); */
42
- Callback().Call({
43
- Napi::Number::New(env,this->m_lastCurlCode),
44
- Napi::String::New(env,this->m_lastCurlCodeError),
45
- });
46
- }
@@ -1,18 +0,0 @@
1
- #include <napi.h>
2
- #include "bao_curl.h"
3
-
4
- class curlAsyncWorker : public Napi::AsyncWorker
5
- {
6
- public:
7
- curlAsyncWorker(const Napi::Function &callback, BaoCurl &baoCurlInstance, const char *sendBody, size_t bodySize);
8
- ~curlAsyncWorker();
9
- void Execute();
10
- void OnOK();
11
-
12
- private:
13
- BaoCurl &m_baoCurlInstance;
14
- char* m_sendBody = nullptr;
15
- size_t m_bodySize;
16
- unsigned int m_lastCurlCode = 0;
17
- const char* m_lastCurlCodeError = "";
18
- };