@comunica/actor-http-native 2.6.8 → 2.6.9
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/lib/ActorHttpNative.js
CHANGED
|
@@ -15,9 +15,9 @@ class ActorHttpNative extends bus_http_1.ActorHttp {
|
|
|
15
15
|
this.requester = new Requester_1.default(args.agentOptions);
|
|
16
16
|
}
|
|
17
17
|
static createUserAgent() {
|
|
18
|
-
return `Comunica/actor-http-native (${typeof
|
|
18
|
+
return `Comunica/actor-http-native (${typeof globalThis.navigator === 'undefined' ?
|
|
19
19
|
`Node.js ${process.version}; ${process.platform}` :
|
|
20
|
-
`Browser-${
|
|
20
|
+
`Browser-${globalThis.navigator.userAgent}`})`;
|
|
21
21
|
}
|
|
22
22
|
async test(action) {
|
|
23
23
|
return { time: Number.POSITIVE_INFINITY };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActorHttpNative.js","sourceRoot":"","sources":["ActorHttpNative.ts"],"names":[],"mappings":";;;AACA,iDAA+C;AAC/C,+DAAqD;AAErD,gCAA8B;AAC9B,2CAAoC;AAEpC;;GAEG;AACH,MAAa,eAAgB,SAAQ,oBAAS;IAK5C,YAAmB,IAA0B;QAC3C,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC,eAAe,EAAE,CAAC;QACnD,IAAI,CAAC,SAAS,GAAG,IAAI,mBAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACpD,CAAC;IAEM,MAAM,CAAC,eAAe;QAC3B,OAAO,+BAA+B,OAAO,
|
|
1
|
+
{"version":3,"file":"ActorHttpNative.js","sourceRoot":"","sources":["ActorHttpNative.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IActionHttp, IActorHttpOutput, IActorHttpArgs } from '@comunica/bus-http';\nimport { ActorHttp } from '@comunica/bus-http';\nimport { KeysHttp } from '@comunica/context-entries';\nimport type { IMediatorTypeTime } from '@comunica/mediatortype-time';\nimport 'cross-fetch/polyfill';\nimport Requester from './Requester';\n\n/**\n * A comunica Follow Redirects Http Actor.\n */\nexport class ActorHttpNative extends ActorHttp {\n private readonly userAgent: string;\n\n private readonly requester: Requester;\n\n public constructor(args: IActorHttpNativeArgs) {\n super(args);\n this.userAgent = ActorHttpNative.createUserAgent();\n this.requester = new Requester(args.agentOptions);\n }\n\n public static createUserAgent(): string {\n return `Comunica/actor-http-native (${typeof globalThis.navigator === 'undefined' ?\n `Node.js ${process.version}; ${process.platform}` :\n `Browser-${globalThis.navigator.userAgent}`})`;\n }\n\n public async test(action: IActionHttp): Promise<IMediatorTypeTime> {\n return { time: Number.POSITIVE_INFINITY };\n }\n\n public async run(action: IActionHttp): Promise<IActorHttpOutput> {\n const options: any = {};\n // Input can be a Request object or a string\n // if it is a Request object it can contain the same settings as the init object\n if ((<any>action.input).url) {\n options.url = (<Request>action.input).url;\n Object.assign(options, action.input);\n } else {\n options.url = action.input;\n }\n\n if (action.init) {\n Object.assign(options, action.init);\n options.headers = new Headers(action.init.headers);\n options.body = action.init.body;\n } else {\n options.headers = (<Request>action.input).headers;\n if ((<Request>action.input).body) {\n throw new Error(`ActorHttpNative does not support passing body via input, use init instead.`);\n }\n }\n\n if (!options.headers) {\n options.headers = new Headers();\n }\n if (!options.headers.has('user-agent')) {\n options.headers.append('user-agent', this.userAgent);\n }\n\n options.method = options.method || 'GET';\n if (action.context.get(KeysHttp.includeCredentials)) {\n options.withCredentials = true;\n }\n\n if (action.context.get(KeysHttp.auth)) {\n options.auth = action.context.get(KeysHttp.auth);\n }\n\n this.logInfo(action.context, `Requesting ${options.url}`, () => ({\n headers: ActorHttp.headersToHash(options.headers),\n method: options.method,\n }));\n\n // Not all options are supported\n\n return new Promise<IActorHttpOutput>((resolve, reject) => {\n const req = this.requester.createRequest(options);\n req.on('error', reject);\n req.on('response', httpResponse => {\n httpResponse.on('error', (error: Error) => {\n httpResponse = null;\n reject(error);\n });\n // Avoid memory leak on HEAD requests\n if (options.method === 'HEAD') {\n httpResponse.destroy();\n }\n // Using setImmediate so error can be caught should it be thrown\n setTimeout(() => {\n if (httpResponse) {\n // Expose fetch cancel promise\n httpResponse.cancel = () => {\n httpResponse.destroy();\n return Promise.resolve();\n };\n\n // Support abort controller\n if (action.init?.signal) {\n if (action.init.signal.aborted) {\n httpResponse.destroy();\n } else {\n action.init.signal.addEventListener('abort', () => httpResponse.destroy());\n }\n }\n\n // Missing several of the required fetch fields\n const headers = httpResponse.headers;\n\n const result = <IActorHttpOutput> {\n body: httpResponse,\n headers,\n ok: httpResponse.statusCode < 300,\n redirected: options.url !== httpResponse.responseUrl,\n status: httpResponse.statusCode,\n // When the content came from another resource because of conneg, let Content-Location deliver the url\n url: headers.has('content-location') ? headers.get('content-location') : httpResponse.responseUrl,\n };\n resolve(result);\n }\n });\n });\n });\n }\n}\n\nexport interface IActorHttpNativeArgs extends IActorHttpArgs {\n /**\n * The agent options for the HTTP agent\n * @range {json}\n * @default {{ \"keepAlive\": true, \"maxSockets\": 5 }}\n */\n agentOptions?: Record<string, any>;\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@comunica/actor-http-native",
|
|
3
|
-
"version": "2.6.
|
|
3
|
+
"version": "2.6.9",
|
|
4
4
|
"description": "A native http actor",
|
|
5
5
|
"lsd:module": true,
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"lib/**/*.js.map"
|
|
33
33
|
],
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@comunica/bus-http": "^2.6.
|
|
35
|
+
"@comunica/bus-http": "^2.6.9",
|
|
36
36
|
"@comunica/context-entries": "^2.6.8",
|
|
37
37
|
"@comunica/mediatortype-time": "^2.6.8",
|
|
38
38
|
"cross-fetch": "^3.1.5",
|
|
@@ -47,5 +47,5 @@
|
|
|
47
47
|
"browser": {
|
|
48
48
|
"./lib/Requester.js": "./lib/Requester-browser.js"
|
|
49
49
|
},
|
|
50
|
-
"gitHead": "
|
|
50
|
+
"gitHead": "739f55dbe1b95743866f4e393ffe7a62f0410436"
|
|
51
51
|
}
|