@algolia/requester-node-http 5.10.0 → 5.10.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/dist/requester.http.cjs +4 -4
- package/dist/requester.http.cjs.map +1 -1
- package/dist/requester.http.d.cts +12 -77
- package/dist/requester.http.d.ts +12 -77
- package/package.json +2 -2
package/dist/requester.http.cjs
CHANGED
|
@@ -27,12 +27,12 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
27
27
|
));
|
|
28
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
29
|
|
|
30
|
-
// index.ts
|
|
31
|
-
var
|
|
32
|
-
__export(
|
|
30
|
+
// src/index.ts
|
|
31
|
+
var src_exports = {};
|
|
32
|
+
__export(src_exports, {
|
|
33
33
|
createHttpRequester: () => createHttpRequester
|
|
34
34
|
});
|
|
35
|
-
module.exports = __toCommonJS(
|
|
35
|
+
module.exports = __toCommonJS(src_exports);
|
|
36
36
|
|
|
37
37
|
// src/createHttpRequester.ts
|
|
38
38
|
var import_http = __toESM(require("http"), 1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../index.ts","../src/createHttpRequester.ts"],"sourcesContent":["export * from './
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/createHttpRequester.ts"],"sourcesContent":["export * from './createHttpRequester';\n","import http from 'http';\nimport https from 'https';\nimport { URL } from 'url';\n\nimport type { EndRequest, Requester, Response } from '@algolia/client-common';\n\nexport type CreateHttpRequesterOptions = Partial<{\n agent: http.Agent | https.Agent;\n httpAgent: http.Agent;\n httpsAgent: https.Agent;\n /**\n * RequestOptions to be merged with the end request, it will override default options if provided.\n */\n requesterOptions: https.RequestOptions;\n}>;\n\n// Global agents allow us to reuse the TCP protocol with multiple clients\nconst agentOptions = { keepAlive: true };\nconst defaultHttpAgent = new http.Agent(agentOptions);\nconst defaultHttpsAgent = new https.Agent(agentOptions);\n\nexport function createHttpRequester({\n agent: userGlobalAgent,\n httpAgent: userHttpAgent,\n httpsAgent: userHttpsAgent,\n requesterOptions = {},\n}: CreateHttpRequesterOptions = {}): Requester {\n const httpAgent = userHttpAgent || userGlobalAgent || defaultHttpAgent;\n const httpsAgent = userHttpsAgent || userGlobalAgent || defaultHttpsAgent;\n\n function send(request: EndRequest): Promise<Response> {\n return new Promise((resolve) => {\n let responseTimeout: NodeJS.Timeout | undefined;\n let connectTimeout: NodeJS.Timeout | undefined;\n const url = new URL(request.url);\n const path = url.search === null ? url.pathname : `${url.pathname}${url.search}`;\n const options: https.RequestOptions = {\n agent: url.protocol === 'https:' ? httpsAgent : httpAgent,\n hostname: url.hostname,\n path,\n method: request.method,\n ...requesterOptions,\n headers: {\n ...request.headers,\n ...requesterOptions.headers,\n },\n };\n\n if (url.port && !requesterOptions.port) {\n options.port = url.port;\n }\n\n const req = (url.protocol === 'https:' ? https : http).request(options, (response) => {\n let contentBuffers: Buffer[] = [];\n\n response.on('data', (chunk) => {\n contentBuffers = contentBuffers.concat(chunk);\n });\n\n response.on('end', () => {\n clearTimeout(connectTimeout as NodeJS.Timeout);\n clearTimeout(responseTimeout as NodeJS.Timeout);\n\n resolve({\n status: response.statusCode || 0,\n content: Buffer.concat(contentBuffers).toString(),\n isTimedOut: false,\n });\n });\n });\n\n const createTimeout = (timeout: number, content: string): NodeJS.Timeout => {\n return setTimeout(() => {\n req.destroy();\n\n resolve({\n status: 0,\n content,\n isTimedOut: true,\n });\n }, timeout);\n };\n\n connectTimeout = createTimeout(request.connectTimeout, 'Connection timeout');\n\n req.on('error', (error) => {\n clearTimeout(connectTimeout as NodeJS.Timeout);\n clearTimeout(responseTimeout!);\n resolve({ status: 0, content: error.message, isTimedOut: false });\n });\n\n req.once('response', () => {\n clearTimeout(connectTimeout as NodeJS.Timeout);\n responseTimeout = createTimeout(request.responseTimeout, 'Socket timeout');\n });\n\n if (request.data !== undefined) {\n req.write(request.data);\n }\n\n req.end();\n });\n }\n\n return { send };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,kBAAiB;AACjB,mBAAkB;AAClB,iBAAoB;AAepB,IAAM,eAAe,EAAE,WAAW,KAAK;AACvC,IAAM,mBAAmB,IAAI,YAAAA,QAAK,MAAM,YAAY;AACpD,IAAM,oBAAoB,IAAI,aAAAC,QAAM,MAAM,YAAY;AAE/C,SAAS,oBAAoB;AAAA,EAClC,OAAO;AAAA,EACP,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,mBAAmB,CAAC;AACtB,IAAgC,CAAC,GAAc;AAC7C,QAAM,YAAY,iBAAiB,mBAAmB;AACtD,QAAM,aAAa,kBAAkB,mBAAmB;AAExD,WAAS,KAAK,SAAwC;AACpD,WAAO,IAAI,QAAQ,CAAC,YAAY;AAC9B,UAAI;AACJ,UAAI;AACJ,YAAM,MAAM,IAAI,eAAI,QAAQ,GAAG;AAC/B,YAAM,OAAO,IAAI,WAAW,OAAO,IAAI,WAAW,GAAG,IAAI,QAAQ,GAAG,IAAI,MAAM;AAC9E,YAAM,UAAgC;AAAA,QACpC,OAAO,IAAI,aAAa,WAAW,aAAa;AAAA,QAChD,UAAU,IAAI;AAAA,QACd;AAAA,QACA,QAAQ,QAAQ;AAAA,QAChB,GAAG;AAAA,QACH,SAAS;AAAA,UACP,GAAG,QAAQ;AAAA,UACX,GAAG,iBAAiB;AAAA,QACtB;AAAA,MACF;AAEA,UAAI,IAAI,QAAQ,CAAC,iBAAiB,MAAM;AACtC,gBAAQ,OAAO,IAAI;AAAA,MACrB;AAEA,YAAM,OAAO,IAAI,aAAa,WAAW,aAAAA,UAAQ,YAAAD,SAAM,QAAQ,SAAS,CAAC,aAAa;AACpF,YAAI,iBAA2B,CAAC;AAEhC,iBAAS,GAAG,QAAQ,CAAC,UAAU;AAC7B,2BAAiB,eAAe,OAAO,KAAK;AAAA,QAC9C,CAAC;AAED,iBAAS,GAAG,OAAO,MAAM;AACvB,uBAAa,cAAgC;AAC7C,uBAAa,eAAiC;AAE9C,kBAAQ;AAAA,YACN,QAAQ,SAAS,cAAc;AAAA,YAC/B,SAAS,OAAO,OAAO,cAAc,EAAE,SAAS;AAAA,YAChD,YAAY;AAAA,UACd,CAAC;AAAA,QACH,CAAC;AAAA,MACH,CAAC;AAED,YAAM,gBAAgB,CAAC,SAAiB,YAAoC;AAC1E,eAAO,WAAW,MAAM;AACtB,cAAI,QAAQ;AAEZ,kBAAQ;AAAA,YACN,QAAQ;AAAA,YACR;AAAA,YACA,YAAY;AAAA,UACd,CAAC;AAAA,QACH,GAAG,OAAO;AAAA,MACZ;AAEA,uBAAiB,cAAc,QAAQ,gBAAgB,oBAAoB;AAE3E,UAAI,GAAG,SAAS,CAAC,UAAU;AACzB,qBAAa,cAAgC;AAC7C,qBAAa,eAAgB;AAC7B,gBAAQ,EAAE,QAAQ,GAAG,SAAS,MAAM,SAAS,YAAY,MAAM,CAAC;AAAA,MAClE,CAAC;AAED,UAAI,KAAK,YAAY,MAAM;AACzB,qBAAa,cAAgC;AAC7C,0BAAkB,cAAc,QAAQ,iBAAiB,gBAAgB;AAAA,MAC3E,CAAC;AAED,UAAI,QAAQ,SAAS,QAAW;AAC9B,YAAI,MAAM,QAAQ,IAAI;AAAA,MACxB;AAEA,UAAI,IAAI;AAAA,IACV,CAAC;AAAA,EACH;AAEA,SAAO,EAAE,KAAK;AAChB;","names":["http","https"]}
|
|
@@ -1,81 +1,16 @@
|
|
|
1
1
|
import http from 'http';
|
|
2
2
|
import https from 'https';
|
|
3
|
-
import {
|
|
3
|
+
import { Requester } from '@algolia/client-common';
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
const httpAgent = userHttpAgent || userGlobalAgent || defaultHttpAgent;
|
|
16
|
-
const httpsAgent = userHttpsAgent || userGlobalAgent || defaultHttpsAgent;
|
|
17
|
-
function send(request) {
|
|
18
|
-
return new Promise((resolve) => {
|
|
19
|
-
let responseTimeout;
|
|
20
|
-
let connectTimeout;
|
|
21
|
-
const url = new URL(request.url);
|
|
22
|
-
const path = url.search === null ? url.pathname : `${url.pathname}${url.search}`;
|
|
23
|
-
const options = {
|
|
24
|
-
agent: url.protocol === "https:" ? httpsAgent : httpAgent,
|
|
25
|
-
hostname: url.hostname,
|
|
26
|
-
path,
|
|
27
|
-
method: request.method,
|
|
28
|
-
...requesterOptions,
|
|
29
|
-
headers: {
|
|
30
|
-
...request.headers,
|
|
31
|
-
...requesterOptions.headers
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
if (url.port && !requesterOptions.port) {
|
|
35
|
-
options.port = url.port;
|
|
36
|
-
}
|
|
37
|
-
const req = (url.protocol === "https:" ? https : http).request(options, (response) => {
|
|
38
|
-
let contentBuffers = [];
|
|
39
|
-
response.on("data", (chunk) => {
|
|
40
|
-
contentBuffers = contentBuffers.concat(chunk);
|
|
41
|
-
});
|
|
42
|
-
response.on("end", () => {
|
|
43
|
-
clearTimeout(connectTimeout);
|
|
44
|
-
clearTimeout(responseTimeout);
|
|
45
|
-
resolve({
|
|
46
|
-
status: response.statusCode || 0,
|
|
47
|
-
content: Buffer.concat(contentBuffers).toString(),
|
|
48
|
-
isTimedOut: false
|
|
49
|
-
});
|
|
50
|
-
});
|
|
51
|
-
});
|
|
52
|
-
const createTimeout = (timeout, content) => {
|
|
53
|
-
return setTimeout(() => {
|
|
54
|
-
req.destroy();
|
|
55
|
-
resolve({
|
|
56
|
-
status: 0,
|
|
57
|
-
content,
|
|
58
|
-
isTimedOut: true
|
|
59
|
-
});
|
|
60
|
-
}, timeout);
|
|
61
|
-
};
|
|
62
|
-
connectTimeout = createTimeout(request.connectTimeout, "Connection timeout");
|
|
63
|
-
req.on("error", (error) => {
|
|
64
|
-
clearTimeout(connectTimeout);
|
|
65
|
-
clearTimeout(responseTimeout);
|
|
66
|
-
resolve({ status: 0, content: error.message, isTimedOut: false });
|
|
67
|
-
});
|
|
68
|
-
req.once("response", () => {
|
|
69
|
-
clearTimeout(connectTimeout);
|
|
70
|
-
responseTimeout = createTimeout(request.responseTimeout, "Socket timeout");
|
|
71
|
-
});
|
|
72
|
-
if (request.data !== void 0) {
|
|
73
|
-
req.write(request.data);
|
|
74
|
-
}
|
|
75
|
-
req.end();
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
return { send };
|
|
79
|
-
}
|
|
5
|
+
type CreateHttpRequesterOptions = Partial<{
|
|
6
|
+
agent: http.Agent | https.Agent;
|
|
7
|
+
httpAgent: http.Agent;
|
|
8
|
+
httpsAgent: https.Agent;
|
|
9
|
+
/**
|
|
10
|
+
* RequestOptions to be merged with the end request, it will override default options if provided.
|
|
11
|
+
*/
|
|
12
|
+
requesterOptions: https.RequestOptions;
|
|
13
|
+
}>;
|
|
14
|
+
declare function createHttpRequester({ agent: userGlobalAgent, httpAgent: userHttpAgent, httpsAgent: userHttpsAgent, requesterOptions, }?: CreateHttpRequesterOptions): Requester;
|
|
80
15
|
|
|
81
|
-
export { createHttpRequester };
|
|
16
|
+
export { type CreateHttpRequesterOptions, createHttpRequester };
|
package/dist/requester.http.d.ts
CHANGED
|
@@ -1,81 +1,16 @@
|
|
|
1
1
|
import http from 'http';
|
|
2
2
|
import https from 'https';
|
|
3
|
-
import {
|
|
3
|
+
import { Requester } from '@algolia/client-common';
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
const httpAgent = userHttpAgent || userGlobalAgent || defaultHttpAgent;
|
|
16
|
-
const httpsAgent = userHttpsAgent || userGlobalAgent || defaultHttpsAgent;
|
|
17
|
-
function send(request) {
|
|
18
|
-
return new Promise((resolve) => {
|
|
19
|
-
let responseTimeout;
|
|
20
|
-
let connectTimeout;
|
|
21
|
-
const url = new URL(request.url);
|
|
22
|
-
const path = url.search === null ? url.pathname : `${url.pathname}${url.search}`;
|
|
23
|
-
const options = {
|
|
24
|
-
agent: url.protocol === "https:" ? httpsAgent : httpAgent,
|
|
25
|
-
hostname: url.hostname,
|
|
26
|
-
path,
|
|
27
|
-
method: request.method,
|
|
28
|
-
...requesterOptions,
|
|
29
|
-
headers: {
|
|
30
|
-
...request.headers,
|
|
31
|
-
...requesterOptions.headers
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
if (url.port && !requesterOptions.port) {
|
|
35
|
-
options.port = url.port;
|
|
36
|
-
}
|
|
37
|
-
const req = (url.protocol === "https:" ? https : http).request(options, (response) => {
|
|
38
|
-
let contentBuffers = [];
|
|
39
|
-
response.on("data", (chunk) => {
|
|
40
|
-
contentBuffers = contentBuffers.concat(chunk);
|
|
41
|
-
});
|
|
42
|
-
response.on("end", () => {
|
|
43
|
-
clearTimeout(connectTimeout);
|
|
44
|
-
clearTimeout(responseTimeout);
|
|
45
|
-
resolve({
|
|
46
|
-
status: response.statusCode || 0,
|
|
47
|
-
content: Buffer.concat(contentBuffers).toString(),
|
|
48
|
-
isTimedOut: false
|
|
49
|
-
});
|
|
50
|
-
});
|
|
51
|
-
});
|
|
52
|
-
const createTimeout = (timeout, content) => {
|
|
53
|
-
return setTimeout(() => {
|
|
54
|
-
req.destroy();
|
|
55
|
-
resolve({
|
|
56
|
-
status: 0,
|
|
57
|
-
content,
|
|
58
|
-
isTimedOut: true
|
|
59
|
-
});
|
|
60
|
-
}, timeout);
|
|
61
|
-
};
|
|
62
|
-
connectTimeout = createTimeout(request.connectTimeout, "Connection timeout");
|
|
63
|
-
req.on("error", (error) => {
|
|
64
|
-
clearTimeout(connectTimeout);
|
|
65
|
-
clearTimeout(responseTimeout);
|
|
66
|
-
resolve({ status: 0, content: error.message, isTimedOut: false });
|
|
67
|
-
});
|
|
68
|
-
req.once("response", () => {
|
|
69
|
-
clearTimeout(connectTimeout);
|
|
70
|
-
responseTimeout = createTimeout(request.responseTimeout, "Socket timeout");
|
|
71
|
-
});
|
|
72
|
-
if (request.data !== void 0) {
|
|
73
|
-
req.write(request.data);
|
|
74
|
-
}
|
|
75
|
-
req.end();
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
return { send };
|
|
79
|
-
}
|
|
5
|
+
type CreateHttpRequesterOptions = Partial<{
|
|
6
|
+
agent: http.Agent | https.Agent;
|
|
7
|
+
httpAgent: http.Agent;
|
|
8
|
+
httpsAgent: https.Agent;
|
|
9
|
+
/**
|
|
10
|
+
* RequestOptions to be merged with the end request, it will override default options if provided.
|
|
11
|
+
*/
|
|
12
|
+
requesterOptions: https.RequestOptions;
|
|
13
|
+
}>;
|
|
14
|
+
declare function createHttpRequester({ agent: userGlobalAgent, httpAgent: userHttpAgent, httpsAgent: userHttpsAgent, requesterOptions, }?: CreateHttpRequesterOptions): Requester;
|
|
80
15
|
|
|
81
|
-
export { createHttpRequester };
|
|
16
|
+
export { type CreateHttpRequesterOptions, createHttpRequester };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@algolia/requester-node-http",
|
|
3
|
-
"version": "5.10.
|
|
3
|
+
"version": "5.10.1",
|
|
4
4
|
"description": "Promise-based request library for node using the native http module.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"test:bundle": "publint . && attw --pack ."
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@algolia/client-common": "5.10.
|
|
37
|
+
"@algolia/client-common": "5.10.1"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"@arethetypeswrong/cli": "0.16.4",
|