@nocobase/plugin-idp-oauth 2.1.0-alpha.17 → 2.1.0-alpha.19
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/build.config.ts +1 -1
- package/dist/externalVersion.js +6 -4
- package/dist/node_modules/light-my-request/package.json +1 -1
- package/dist/node_modules/undici/LICENSE +21 -0
- package/dist/node_modules/undici/README.md +741 -0
- package/dist/node_modules/undici/docs/docs/api/Agent.md +84 -0
- package/dist/node_modules/undici/docs/docs/api/BalancedPool.md +99 -0
- package/dist/node_modules/undici/docs/docs/api/CacheStorage.md +30 -0
- package/dist/node_modules/undici/docs/docs/api/CacheStore.md +164 -0
- package/dist/node_modules/undici/docs/docs/api/Client.md +285 -0
- package/dist/node_modules/undici/docs/docs/api/ClientStats.md +27 -0
- package/dist/node_modules/undici/docs/docs/api/Connector.md +115 -0
- package/dist/node_modules/undici/docs/docs/api/ContentType.md +57 -0
- package/dist/node_modules/undici/docs/docs/api/Cookies.md +101 -0
- package/dist/node_modules/undici/docs/docs/api/Debug.md +62 -0
- package/dist/node_modules/undici/docs/docs/api/DiagnosticsChannel.md +315 -0
- package/dist/node_modules/undici/docs/docs/api/Dispatcher.md +1392 -0
- package/dist/node_modules/undici/docs/docs/api/EnvHttpProxyAgent.md +159 -0
- package/dist/node_modules/undici/docs/docs/api/Errors.md +49 -0
- package/dist/node_modules/undici/docs/docs/api/EventSource.md +45 -0
- package/dist/node_modules/undici/docs/docs/api/Fetch.md +60 -0
- package/dist/node_modules/undici/docs/docs/api/GlobalInstallation.md +139 -0
- package/dist/node_modules/undici/docs/docs/api/H2CClient.md +263 -0
- package/dist/node_modules/undici/docs/docs/api/MockAgent.md +603 -0
- package/dist/node_modules/undici/docs/docs/api/MockCallHistory.md +197 -0
- package/dist/node_modules/undici/docs/docs/api/MockCallHistoryLog.md +43 -0
- package/dist/node_modules/undici/docs/docs/api/MockClient.md +81 -0
- package/dist/node_modules/undici/docs/docs/api/MockErrors.md +12 -0
- package/dist/node_modules/undici/docs/docs/api/MockPool.md +555 -0
- package/dist/node_modules/undici/docs/docs/api/Pool.md +84 -0
- package/dist/node_modules/undici/docs/docs/api/PoolStats.md +35 -0
- package/dist/node_modules/undici/docs/docs/api/ProxyAgent.md +229 -0
- package/dist/node_modules/undici/docs/docs/api/RedirectHandler.md +93 -0
- package/dist/node_modules/undici/docs/docs/api/RetryAgent.md +50 -0
- package/dist/node_modules/undici/docs/docs/api/RetryHandler.md +118 -0
- package/dist/node_modules/undici/docs/docs/api/RoundRobinPool.md +145 -0
- package/dist/node_modules/undici/docs/docs/api/SnapshotAgent.md +616 -0
- package/dist/node_modules/undici/docs/docs/api/Socks5ProxyAgent.md +274 -0
- package/dist/node_modules/undici/docs/docs/api/Util.md +25 -0
- package/dist/node_modules/undici/docs/docs/api/WebSocket.md +141 -0
- package/dist/node_modules/undici/docs/docs/api/api-lifecycle.md +91 -0
- package/dist/node_modules/undici/docs/docs/best-practices/client-certificate.md +64 -0
- package/dist/node_modules/undici/docs/docs/best-practices/crawling.md +58 -0
- package/dist/node_modules/undici/docs/docs/best-practices/mocking-request.md +190 -0
- package/dist/node_modules/undici/docs/docs/best-practices/proxy.md +127 -0
- package/dist/node_modules/undici/docs/docs/best-practices/undici-vs-builtin-fetch.md +224 -0
- package/dist/node_modules/undici/docs/docs/best-practices/writing-tests.md +63 -0
- package/dist/node_modules/undici/index-fetch.js +65 -0
- package/dist/node_modules/undici/index.d.ts +3 -0
- package/dist/node_modules/undici/index.js +234 -0
- package/dist/node_modules/undici/lib/api/abort-signal.js +59 -0
- package/dist/node_modules/undici/lib/api/api-connect.js +110 -0
- package/dist/node_modules/undici/lib/api/api-pipeline.js +252 -0
- package/dist/node_modules/undici/lib/api/api-request.js +214 -0
- package/dist/node_modules/undici/lib/api/api-stream.js +209 -0
- package/dist/node_modules/undici/lib/api/api-upgrade.js +111 -0
- package/dist/node_modules/undici/lib/api/index.js +7 -0
- package/dist/node_modules/undici/lib/api/readable.js +580 -0
- package/dist/node_modules/undici/lib/cache/memory-cache-store.js +234 -0
- package/dist/node_modules/undici/lib/cache/sqlite-cache-store.js +461 -0
- package/dist/node_modules/undici/lib/core/connect.js +137 -0
- package/dist/node_modules/undici/lib/core/constants.js +143 -0
- package/dist/node_modules/undici/lib/core/diagnostics.js +227 -0
- package/dist/node_modules/undici/lib/core/errors.js +477 -0
- package/dist/node_modules/undici/lib/core/request.js +438 -0
- package/dist/node_modules/undici/lib/core/socks5-client.js +407 -0
- package/dist/node_modules/undici/lib/core/socks5-utils.js +203 -0
- package/dist/node_modules/undici/lib/core/symbols.js +75 -0
- package/dist/node_modules/undici/lib/core/tree.js +160 -0
- package/dist/node_modules/undici/lib/core/util.js +992 -0
- package/dist/node_modules/undici/lib/dispatcher/agent.js +158 -0
- package/dist/node_modules/undici/lib/dispatcher/balanced-pool.js +219 -0
- package/dist/node_modules/undici/lib/dispatcher/client-h1.js +1610 -0
- package/dist/node_modules/undici/lib/dispatcher/client-h2.js +995 -0
- package/dist/node_modules/undici/lib/dispatcher/client.js +659 -0
- package/dist/node_modules/undici/lib/dispatcher/dispatcher-base.js +165 -0
- package/dist/node_modules/undici/lib/dispatcher/dispatcher.js +48 -0
- package/dist/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js +146 -0
- package/dist/node_modules/undici/lib/dispatcher/fixed-queue.js +135 -0
- package/dist/node_modules/undici/lib/dispatcher/h2c-client.js +51 -0
- package/dist/node_modules/undici/lib/dispatcher/pool-base.js +214 -0
- package/dist/node_modules/undici/lib/dispatcher/pool.js +118 -0
- package/dist/node_modules/undici/lib/dispatcher/proxy-agent.js +318 -0
- package/dist/node_modules/undici/lib/dispatcher/retry-agent.js +35 -0
- package/dist/node_modules/undici/lib/dispatcher/round-robin-pool.js +137 -0
- package/dist/node_modules/undici/lib/dispatcher/socks5-proxy-agent.js +249 -0
- package/dist/node_modules/undici/lib/encoding/index.js +33 -0
- package/dist/node_modules/undici/lib/global.js +50 -0
- package/dist/node_modules/undici/lib/handler/cache-handler.js +578 -0
- package/dist/node_modules/undici/lib/handler/cache-revalidation-handler.js +124 -0
- package/dist/node_modules/undici/lib/handler/decorator-handler.js +67 -0
- package/dist/node_modules/undici/lib/handler/deduplication-handler.js +460 -0
- package/dist/node_modules/undici/lib/handler/redirect-handler.js +238 -0
- package/dist/node_modules/undici/lib/handler/retry-handler.js +394 -0
- package/dist/node_modules/undici/lib/handler/unwrap-handler.js +100 -0
- package/dist/node_modules/undici/lib/handler/wrap-handler.js +105 -0
- package/dist/node_modules/undici/lib/interceptor/cache.js +495 -0
- package/dist/node_modules/undici/lib/interceptor/decompress.js +259 -0
- package/dist/node_modules/undici/lib/interceptor/deduplicate.js +117 -0
- package/dist/node_modules/undici/lib/interceptor/dns.js +571 -0
- package/dist/node_modules/undici/lib/interceptor/dump.js +112 -0
- package/dist/node_modules/undici/lib/interceptor/redirect.js +21 -0
- package/dist/node_modules/undici/lib/interceptor/response-error.js +95 -0
- package/dist/node_modules/undici/lib/interceptor/retry.js +19 -0
- package/dist/node_modules/undici/lib/llhttp/.gitkeep +0 -0
- package/dist/node_modules/undici/lib/llhttp/constants.d.ts +195 -0
- package/dist/node_modules/undici/lib/llhttp/constants.js +531 -0
- package/dist/node_modules/undici/lib/llhttp/llhttp-wasm.js +15 -0
- package/dist/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js +15 -0
- package/dist/node_modules/undici/lib/llhttp/utils.d.ts +2 -0
- package/dist/node_modules/undici/lib/llhttp/utils.js +12 -0
- package/dist/node_modules/undici/lib/mock/mock-agent.js +232 -0
- package/dist/node_modules/undici/lib/mock/mock-call-history.js +248 -0
- package/dist/node_modules/undici/lib/mock/mock-client.js +68 -0
- package/dist/node_modules/undici/lib/mock/mock-errors.js +29 -0
- package/dist/node_modules/undici/lib/mock/mock-interceptor.js +209 -0
- package/dist/node_modules/undici/lib/mock/mock-pool.js +68 -0
- package/dist/node_modules/undici/lib/mock/mock-symbols.js +32 -0
- package/dist/node_modules/undici/lib/mock/mock-utils.js +486 -0
- package/dist/node_modules/undici/lib/mock/pending-interceptors-formatter.js +43 -0
- package/dist/node_modules/undici/lib/mock/snapshot-agent.js +353 -0
- package/dist/node_modules/undici/lib/mock/snapshot-recorder.js +588 -0
- package/dist/node_modules/undici/lib/mock/snapshot-utils.js +158 -0
- package/dist/node_modules/undici/lib/util/cache.js +407 -0
- package/dist/node_modules/undici/lib/util/date.js +653 -0
- package/dist/node_modules/undici/lib/util/promise.js +28 -0
- package/dist/node_modules/undici/lib/util/runtime-features.js +124 -0
- package/dist/node_modules/undici/lib/util/stats.js +32 -0
- package/dist/node_modules/undici/lib/util/timers.js +425 -0
- package/dist/node_modules/undici/lib/web/cache/cache.js +864 -0
- package/dist/node_modules/undici/lib/web/cache/cachestorage.js +152 -0
- package/dist/node_modules/undici/lib/web/cache/util.js +45 -0
- package/dist/node_modules/undici/lib/web/cookies/constants.js +12 -0
- package/dist/node_modules/undici/lib/web/cookies/index.js +199 -0
- package/dist/node_modules/undici/lib/web/cookies/parse.js +322 -0
- package/dist/node_modules/undici/lib/web/cookies/util.js +282 -0
- package/dist/node_modules/undici/lib/web/eventsource/eventsource-stream.js +399 -0
- package/dist/node_modules/undici/lib/web/eventsource/eventsource.js +501 -0
- package/dist/node_modules/undici/lib/web/eventsource/util.js +29 -0
- package/dist/node_modules/undici/lib/web/fetch/LICENSE +21 -0
- package/dist/node_modules/undici/lib/web/fetch/body.js +509 -0
- package/dist/node_modules/undici/lib/web/fetch/constants.js +131 -0
- package/dist/node_modules/undici/lib/web/fetch/data-url.js +596 -0
- package/dist/node_modules/undici/lib/web/fetch/formdata-parser.js +575 -0
- package/dist/node_modules/undici/lib/web/fetch/formdata.js +259 -0
- package/dist/node_modules/undici/lib/web/fetch/global.js +40 -0
- package/dist/node_modules/undici/lib/web/fetch/headers.js +719 -0
- package/dist/node_modules/undici/lib/web/fetch/index.js +2397 -0
- package/dist/node_modules/undici/lib/web/fetch/request.js +1115 -0
- package/dist/node_modules/undici/lib/web/fetch/response.js +641 -0
- package/dist/node_modules/undici/lib/web/fetch/util.js +1520 -0
- package/dist/node_modules/undici/lib/web/infra/index.js +229 -0
- package/dist/node_modules/undici/lib/web/subresource-integrity/Readme.md +9 -0
- package/dist/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js +307 -0
- package/dist/node_modules/undici/lib/web/webidl/index.js +1006 -0
- package/dist/node_modules/undici/lib/web/websocket/connection.js +329 -0
- package/dist/node_modules/undici/lib/web/websocket/constants.js +126 -0
- package/dist/node_modules/undici/lib/web/websocket/events.js +331 -0
- package/dist/node_modules/undici/lib/web/websocket/frame.js +133 -0
- package/dist/node_modules/undici/lib/web/websocket/permessage-deflate.js +118 -0
- package/dist/node_modules/undici/lib/web/websocket/receiver.js +450 -0
- package/dist/node_modules/undici/lib/web/websocket/sender.js +109 -0
- package/dist/node_modules/undici/lib/web/websocket/stream/websocketerror.js +104 -0
- package/dist/node_modules/undici/lib/web/websocket/stream/websocketstream.js +497 -0
- package/dist/node_modules/undici/lib/web/websocket/util.js +347 -0
- package/dist/node_modules/undici/lib/web/websocket/websocket.js +751 -0
- package/dist/node_modules/undici/package.json +152 -0
- package/dist/node_modules/undici/scripts/strip-comments.js +10 -0
- package/dist/node_modules/undici/types/README.md +6 -0
- package/dist/node_modules/undici/types/agent.d.ts +32 -0
- package/dist/node_modules/undici/types/api.d.ts +43 -0
- package/dist/node_modules/undici/types/balanced-pool.d.ts +30 -0
- package/dist/node_modules/undici/types/cache-interceptor.d.ts +179 -0
- package/dist/node_modules/undici/types/cache.d.ts +36 -0
- package/dist/node_modules/undici/types/client-stats.d.ts +15 -0
- package/dist/node_modules/undici/types/client.d.ts +123 -0
- package/dist/node_modules/undici/types/connector.d.ts +36 -0
- package/dist/node_modules/undici/types/content-type.d.ts +21 -0
- package/dist/node_modules/undici/types/cookies.d.ts +30 -0
- package/dist/node_modules/undici/types/diagnostics-channel.d.ts +74 -0
- package/dist/node_modules/undici/types/dispatcher.d.ts +273 -0
- package/dist/node_modules/undici/types/env-http-proxy-agent.d.ts +22 -0
- package/dist/node_modules/undici/types/errors.d.ts +177 -0
- package/dist/node_modules/undici/types/eventsource.d.ts +66 -0
- package/dist/node_modules/undici/types/fetch.d.ts +231 -0
- package/dist/node_modules/undici/types/formdata.d.ts +114 -0
- package/dist/node_modules/undici/types/global-dispatcher.d.ts +9 -0
- package/dist/node_modules/undici/types/global-origin.d.ts +7 -0
- package/dist/node_modules/undici/types/h2c-client.d.ts +73 -0
- package/dist/node_modules/undici/types/handlers.d.ts +14 -0
- package/dist/node_modules/undici/types/header.d.ts +160 -0
- package/dist/node_modules/undici/types/index.d.ts +91 -0
- package/dist/node_modules/undici/types/interceptors.d.ts +80 -0
- package/dist/node_modules/undici/types/mock-agent.d.ts +68 -0
- package/dist/node_modules/undici/types/mock-call-history.d.ts +111 -0
- package/dist/node_modules/undici/types/mock-client.d.ts +27 -0
- package/dist/node_modules/undici/types/mock-errors.d.ts +12 -0
- package/dist/node_modules/undici/types/mock-interceptor.d.ts +94 -0
- package/dist/node_modules/undici/types/mock-pool.d.ts +27 -0
- package/dist/node_modules/undici/types/patch.d.ts +29 -0
- package/dist/node_modules/undici/types/pool-stats.d.ts +19 -0
- package/dist/node_modules/undici/types/pool.d.ts +41 -0
- package/dist/node_modules/undici/types/proxy-agent.d.ts +29 -0
- package/dist/node_modules/undici/types/readable.d.ts +68 -0
- package/dist/node_modules/undici/types/retry-agent.d.ts +8 -0
- package/dist/node_modules/undici/types/retry-handler.d.ts +125 -0
- package/dist/node_modules/undici/types/round-robin-pool.d.ts +41 -0
- package/dist/node_modules/undici/types/snapshot-agent.d.ts +109 -0
- package/dist/node_modules/undici/types/socks5-proxy-agent.d.ts +25 -0
- package/dist/node_modules/undici/types/util.d.ts +18 -0
- package/dist/node_modules/undici/types/utility.d.ts +7 -0
- package/dist/node_modules/undici/types/webidl.d.ts +347 -0
- package/dist/node_modules/undici/types/websocket.d.ts +188 -0
- package/dist/server/collections/oidcStates.d.ts +10 -0
- package/dist/server/collections/oidcStates.js +96 -0
- package/dist/server/db-adapter.d.ts +25 -0
- package/dist/server/db-adapter.js +156 -0
- package/dist/server/service.js +11 -10
- package/package.json +2 -2
- package/dist/server/cache-adapter.d.ts +0 -33
- package/dist/server/cache-adapter.js +0 -159
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { Readable } from 'node:stream'
|
|
2
|
+
import { Blob } from 'node:buffer'
|
|
3
|
+
|
|
4
|
+
export default BodyReadable
|
|
5
|
+
|
|
6
|
+
declare class BodyReadable extends Readable {
|
|
7
|
+
constructor (opts: {
|
|
8
|
+
resume: (this: Readable, size: number) => void | null;
|
|
9
|
+
abort: () => void | null;
|
|
10
|
+
contentType?: string;
|
|
11
|
+
contentLength?: number;
|
|
12
|
+
highWaterMark?: number;
|
|
13
|
+
})
|
|
14
|
+
|
|
15
|
+
/** Consumes and returns the body as a string
|
|
16
|
+
* https://fetch.spec.whatwg.org/#dom-body-text
|
|
17
|
+
*/
|
|
18
|
+
text (): Promise<string>
|
|
19
|
+
|
|
20
|
+
/** Consumes and returns the body as a JavaScript Object
|
|
21
|
+
* https://fetch.spec.whatwg.org/#dom-body-json
|
|
22
|
+
*/
|
|
23
|
+
json (): Promise<unknown>
|
|
24
|
+
|
|
25
|
+
/** Consumes and returns the body as a Blob
|
|
26
|
+
* https://fetch.spec.whatwg.org/#dom-body-blob
|
|
27
|
+
*/
|
|
28
|
+
blob (): Promise<Blob>
|
|
29
|
+
|
|
30
|
+
/** Consumes and returns the body as an Uint8Array
|
|
31
|
+
* https://fetch.spec.whatwg.org/#dom-body-bytes
|
|
32
|
+
*/
|
|
33
|
+
bytes (): Promise<Uint8Array>
|
|
34
|
+
|
|
35
|
+
/** Consumes and returns the body as an ArrayBuffer
|
|
36
|
+
* https://fetch.spec.whatwg.org/#dom-body-arraybuffer
|
|
37
|
+
*/
|
|
38
|
+
arrayBuffer (): Promise<ArrayBuffer>
|
|
39
|
+
|
|
40
|
+
/** Not implemented
|
|
41
|
+
*
|
|
42
|
+
* https://fetch.spec.whatwg.org/#dom-body-formdata
|
|
43
|
+
*/
|
|
44
|
+
formData (): Promise<never>
|
|
45
|
+
|
|
46
|
+
/** Returns true if the body is not null and the body has been consumed
|
|
47
|
+
*
|
|
48
|
+
* Otherwise, returns false
|
|
49
|
+
*
|
|
50
|
+
* https://fetch.spec.whatwg.org/#dom-body-bodyused
|
|
51
|
+
*/
|
|
52
|
+
readonly bodyUsed: boolean
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* If body is null, it should return null as the body
|
|
56
|
+
*
|
|
57
|
+
* If body is not null, should return the body as a ReadableStream
|
|
58
|
+
*
|
|
59
|
+
* https://fetch.spec.whatwg.org/#dom-body-body
|
|
60
|
+
*/
|
|
61
|
+
readonly body: never | undefined
|
|
62
|
+
|
|
63
|
+
/** Dumps the response body by reading `limit` number of bytes.
|
|
64
|
+
* @param opts.limit Number of bytes to read (optional) - Default: 131072
|
|
65
|
+
* @param opts.signal AbortSignal to cancel the operation (optional)
|
|
66
|
+
*/
|
|
67
|
+
dump (opts?: { limit: number; signal?: AbortSignal }): Promise<void>
|
|
68
|
+
}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import Dispatcher from './dispatcher'
|
|
2
|
+
|
|
3
|
+
export default RetryHandler
|
|
4
|
+
|
|
5
|
+
declare class RetryHandler implements Dispatcher.DispatchHandler {
|
|
6
|
+
constructor (
|
|
7
|
+
options: Dispatcher.DispatchOptions & {
|
|
8
|
+
retryOptions?: RetryHandler.RetryOptions;
|
|
9
|
+
},
|
|
10
|
+
retryHandlers: RetryHandler.RetryHandlers
|
|
11
|
+
)
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
declare namespace RetryHandler {
|
|
15
|
+
export type RetryState = { counter: number; }
|
|
16
|
+
|
|
17
|
+
export type RetryContext = {
|
|
18
|
+
state: RetryState;
|
|
19
|
+
opts: Dispatcher.DispatchOptions & {
|
|
20
|
+
retryOptions?: RetryHandler.RetryOptions;
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export type OnRetryCallback = (result?: Error | null) => void
|
|
25
|
+
|
|
26
|
+
export type RetryCallback = (
|
|
27
|
+
err: Error,
|
|
28
|
+
context: {
|
|
29
|
+
state: RetryState;
|
|
30
|
+
opts: Dispatcher.DispatchOptions & {
|
|
31
|
+
retryOptions?: RetryHandler.RetryOptions;
|
|
32
|
+
};
|
|
33
|
+
},
|
|
34
|
+
callback: OnRetryCallback
|
|
35
|
+
) => void
|
|
36
|
+
|
|
37
|
+
export interface RetryOptions {
|
|
38
|
+
/**
|
|
39
|
+
* If true, the retry handler will throw an error if the request fails,
|
|
40
|
+
* this will prevent the folling handlers from being called, and will destroy the socket.
|
|
41
|
+
*
|
|
42
|
+
* @type {boolean}
|
|
43
|
+
* @memberof RetryOptions
|
|
44
|
+
* @default true
|
|
45
|
+
*/
|
|
46
|
+
throwOnError?: boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Callback to be invoked on every retry iteration.
|
|
49
|
+
* It receives the error, current state of the retry object and the options object
|
|
50
|
+
* passed when instantiating the retry handler.
|
|
51
|
+
*
|
|
52
|
+
* @type {RetryCallback}
|
|
53
|
+
* @memberof RetryOptions
|
|
54
|
+
*/
|
|
55
|
+
retry?: RetryCallback;
|
|
56
|
+
/**
|
|
57
|
+
* Maximum number of retries to allow.
|
|
58
|
+
*
|
|
59
|
+
* @type {number}
|
|
60
|
+
* @memberof RetryOptions
|
|
61
|
+
* @default 5
|
|
62
|
+
*/
|
|
63
|
+
maxRetries?: number;
|
|
64
|
+
/**
|
|
65
|
+
* Max number of milliseconds allow between retries
|
|
66
|
+
*
|
|
67
|
+
* @type {number}
|
|
68
|
+
* @memberof RetryOptions
|
|
69
|
+
* @default 30000
|
|
70
|
+
*/
|
|
71
|
+
maxTimeout?: number;
|
|
72
|
+
/**
|
|
73
|
+
* Initial number of milliseconds to wait before retrying for the first time.
|
|
74
|
+
*
|
|
75
|
+
* @type {number}
|
|
76
|
+
* @memberof RetryOptions
|
|
77
|
+
* @default 500
|
|
78
|
+
*/
|
|
79
|
+
minTimeout?: number;
|
|
80
|
+
/**
|
|
81
|
+
* Factior to multiply the timeout factor between retries.
|
|
82
|
+
*
|
|
83
|
+
* @type {number}
|
|
84
|
+
* @memberof RetryOptions
|
|
85
|
+
* @default 2
|
|
86
|
+
*/
|
|
87
|
+
timeoutFactor?: number;
|
|
88
|
+
/**
|
|
89
|
+
* It enables to automatically infer timeout between retries based on the `Retry-After` header.
|
|
90
|
+
*
|
|
91
|
+
* @type {boolean}
|
|
92
|
+
* @memberof RetryOptions
|
|
93
|
+
* @default true
|
|
94
|
+
*/
|
|
95
|
+
retryAfter?: boolean;
|
|
96
|
+
/**
|
|
97
|
+
* HTTP methods to retry.
|
|
98
|
+
*
|
|
99
|
+
* @type {Dispatcher.HttpMethod[]}
|
|
100
|
+
* @memberof RetryOptions
|
|
101
|
+
* @default ['GET', 'HEAD', 'OPTIONS', 'PUT', 'DELETE', 'TRACE'],
|
|
102
|
+
*/
|
|
103
|
+
methods?: Dispatcher.HttpMethod[];
|
|
104
|
+
/**
|
|
105
|
+
* Error codes to be retried. e.g. `ECONNRESET`, `ENOTFOUND`, `ETIMEDOUT`, `ECONNREFUSED`, etc.
|
|
106
|
+
*
|
|
107
|
+
* @type {string[]}
|
|
108
|
+
* @default ['ECONNRESET','ECONNREFUSED','ENOTFOUND','ENETDOWN','ENETUNREACH','EHOSTDOWN','EHOSTUNREACH','EPIPE']
|
|
109
|
+
*/
|
|
110
|
+
errorCodes?: string[];
|
|
111
|
+
/**
|
|
112
|
+
* HTTP status codes to be retried.
|
|
113
|
+
*
|
|
114
|
+
* @type {number[]}
|
|
115
|
+
* @memberof RetryOptions
|
|
116
|
+
* @default [500, 502, 503, 504, 429],
|
|
117
|
+
*/
|
|
118
|
+
statusCodes?: number[];
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
export interface RetryHandlers {
|
|
122
|
+
dispatch: Dispatcher['dispatch'];
|
|
123
|
+
handler: Dispatcher.DispatchHandler;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import Client from './client'
|
|
2
|
+
import TPoolStats from './pool-stats'
|
|
3
|
+
import { URL } from 'node:url'
|
|
4
|
+
import Dispatcher from './dispatcher'
|
|
5
|
+
|
|
6
|
+
export default RoundRobinPool
|
|
7
|
+
|
|
8
|
+
type RoundRobinPoolConnectOptions = Omit<Dispatcher.ConnectOptions, 'origin'>
|
|
9
|
+
|
|
10
|
+
declare class RoundRobinPool extends Dispatcher {
|
|
11
|
+
constructor (url: string | URL, options?: RoundRobinPool.Options)
|
|
12
|
+
/** `true` after `pool.close()` has been called. */
|
|
13
|
+
closed: boolean
|
|
14
|
+
/** `true` after `pool.destroyed()` has been called or `pool.close()` has been called and the pool shutdown has completed. */
|
|
15
|
+
destroyed: boolean
|
|
16
|
+
/** Aggregate stats for a RoundRobinPool. */
|
|
17
|
+
readonly stats: TPoolStats
|
|
18
|
+
|
|
19
|
+
// Override dispatcher APIs.
|
|
20
|
+
override connect (
|
|
21
|
+
options: RoundRobinPoolConnectOptions
|
|
22
|
+
): Promise<Dispatcher.ConnectData>
|
|
23
|
+
override connect (
|
|
24
|
+
options: RoundRobinPoolConnectOptions,
|
|
25
|
+
callback: (err: Error | null, data: Dispatcher.ConnectData) => void
|
|
26
|
+
): void
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
declare namespace RoundRobinPool {
|
|
30
|
+
export type RoundRobinPoolStats = TPoolStats
|
|
31
|
+
export interface Options extends Client.Options {
|
|
32
|
+
/** Default: `(origin, opts) => new Client(origin, opts)`. */
|
|
33
|
+
factory?(origin: URL, opts: object): Dispatcher;
|
|
34
|
+
/** The max number of clients to create. `null` if no limit. Default `null`. */
|
|
35
|
+
connections?: number | null;
|
|
36
|
+
/** The amount of time before a client is removed from the pool and closed. `null` if no time limit. Default `null` */
|
|
37
|
+
clientTtl?: number | null;
|
|
38
|
+
|
|
39
|
+
interceptors?: { RoundRobinPool?: readonly Dispatcher.DispatchInterceptor[] } & Client.Options['interceptors']
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import MockAgent from './mock-agent'
|
|
2
|
+
|
|
3
|
+
declare class SnapshotRecorder {
|
|
4
|
+
constructor (options?: SnapshotRecorder.Options)
|
|
5
|
+
|
|
6
|
+
record (requestOpts: any, response: any): Promise<void>
|
|
7
|
+
findSnapshot (requestOpts: any): SnapshotRecorder.Snapshot | undefined
|
|
8
|
+
loadSnapshots (filePath?: string): Promise<void>
|
|
9
|
+
saveSnapshots (filePath?: string): Promise<void>
|
|
10
|
+
clear (): void
|
|
11
|
+
getSnapshots (): SnapshotRecorder.Snapshot[]
|
|
12
|
+
size (): number
|
|
13
|
+
resetCallCounts (): void
|
|
14
|
+
deleteSnapshot (requestOpts: any): boolean
|
|
15
|
+
getSnapshotInfo (requestOpts: any): SnapshotRecorder.SnapshotInfo | null
|
|
16
|
+
replaceSnapshots (snapshotData: SnapshotRecorder.SnapshotData[]): void
|
|
17
|
+
destroy (): void
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
declare namespace SnapshotRecorder {
|
|
21
|
+
type SnapshotRecorderMode = 'record' | 'playback' | 'update'
|
|
22
|
+
|
|
23
|
+
export interface Options {
|
|
24
|
+
snapshotPath?: string
|
|
25
|
+
mode?: SnapshotRecorderMode
|
|
26
|
+
maxSnapshots?: number
|
|
27
|
+
autoFlush?: boolean
|
|
28
|
+
flushInterval?: number
|
|
29
|
+
matchHeaders?: string[]
|
|
30
|
+
ignoreHeaders?: string[]
|
|
31
|
+
excludeHeaders?: string[]
|
|
32
|
+
matchBody?: boolean
|
|
33
|
+
matchQuery?: boolean
|
|
34
|
+
caseSensitive?: boolean
|
|
35
|
+
shouldRecord?: (requestOpts: any) => boolean
|
|
36
|
+
shouldPlayback?: (requestOpts: any) => boolean
|
|
37
|
+
excludeUrls?: (string | RegExp)[]
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export interface Snapshot {
|
|
41
|
+
request: {
|
|
42
|
+
method: string
|
|
43
|
+
url: string
|
|
44
|
+
headers: Record<string, string>
|
|
45
|
+
body?: string
|
|
46
|
+
}
|
|
47
|
+
responses: {
|
|
48
|
+
statusCode: number
|
|
49
|
+
headers: Record<string, string>
|
|
50
|
+
body: string
|
|
51
|
+
trailers: Record<string, string>
|
|
52
|
+
}[]
|
|
53
|
+
callCount: number
|
|
54
|
+
timestamp: string
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export interface SnapshotInfo {
|
|
58
|
+
hash: string
|
|
59
|
+
request: {
|
|
60
|
+
method: string
|
|
61
|
+
url: string
|
|
62
|
+
headers: Record<string, string>
|
|
63
|
+
body?: string
|
|
64
|
+
}
|
|
65
|
+
responseCount: number
|
|
66
|
+
callCount: number
|
|
67
|
+
timestamp: string
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
export interface SnapshotData {
|
|
71
|
+
hash: string
|
|
72
|
+
snapshot: Snapshot
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
declare class SnapshotAgent extends MockAgent {
|
|
77
|
+
constructor (options?: SnapshotAgent.Options)
|
|
78
|
+
|
|
79
|
+
saveSnapshots (filePath?: string): Promise<void>
|
|
80
|
+
loadSnapshots (filePath?: string): Promise<void>
|
|
81
|
+
getRecorder (): SnapshotRecorder
|
|
82
|
+
getMode (): SnapshotRecorder.SnapshotRecorderMode
|
|
83
|
+
clearSnapshots (): void
|
|
84
|
+
resetCallCounts (): void
|
|
85
|
+
deleteSnapshot (requestOpts: any): boolean
|
|
86
|
+
getSnapshotInfo (requestOpts: any): SnapshotRecorder.SnapshotInfo | null
|
|
87
|
+
replaceSnapshots (snapshotData: SnapshotRecorder.SnapshotData[]): void
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
declare namespace SnapshotAgent {
|
|
91
|
+
export interface Options extends MockAgent.Options {
|
|
92
|
+
mode?: SnapshotRecorder.SnapshotRecorderMode
|
|
93
|
+
snapshotPath?: string
|
|
94
|
+
maxSnapshots?: number
|
|
95
|
+
autoFlush?: boolean
|
|
96
|
+
flushInterval?: number
|
|
97
|
+
matchHeaders?: string[]
|
|
98
|
+
ignoreHeaders?: string[]
|
|
99
|
+
excludeHeaders?: string[]
|
|
100
|
+
matchBody?: boolean
|
|
101
|
+
matchQuery?: boolean
|
|
102
|
+
caseSensitive?: boolean
|
|
103
|
+
shouldRecord?: (requestOpts: any) => boolean
|
|
104
|
+
shouldPlayback?: (requestOpts: any) => boolean
|
|
105
|
+
excludeUrls?: (string | RegExp)[]
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
export { SnapshotAgent, SnapshotRecorder }
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import Dispatcher from './dispatcher'
|
|
2
|
+
import buildConnector from './connector'
|
|
3
|
+
import { IncomingHttpHeaders } from './header'
|
|
4
|
+
import Pool from './pool'
|
|
5
|
+
|
|
6
|
+
export default Socks5ProxyAgent
|
|
7
|
+
|
|
8
|
+
declare class Socks5ProxyAgent extends Dispatcher {
|
|
9
|
+
constructor (proxyUrl: string | URL, options?: Socks5ProxyAgent.Options)
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
declare namespace Socks5ProxyAgent {
|
|
13
|
+
export interface Options extends Pool.Options {
|
|
14
|
+
/** Additional headers to send with the proxy connection */
|
|
15
|
+
headers?: IncomingHttpHeaders;
|
|
16
|
+
/** SOCKS5 proxy username for authentication */
|
|
17
|
+
username?: string;
|
|
18
|
+
/** SOCKS5 proxy password for authentication */
|
|
19
|
+
password?: string;
|
|
20
|
+
/** Custom connector function for proxy connection */
|
|
21
|
+
connect?: buildConnector.connector;
|
|
22
|
+
/** TLS options for the proxy connection (for SOCKS5 over TLS) */
|
|
23
|
+
proxyTls?: buildConnector.BuildOptions;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export namespace util {
|
|
2
|
+
/**
|
|
3
|
+
* Retrieves a header name and returns its lowercase value.
|
|
4
|
+
* @param value Header name
|
|
5
|
+
*/
|
|
6
|
+
export function headerNameToString (value: string | Buffer): string
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Receives a header object and returns the parsed value.
|
|
10
|
+
* @param headers Header object
|
|
11
|
+
* @param obj Object to specify a proxy object. Used to assign parsed values.
|
|
12
|
+
* @returns If `obj` is specified, it is equivalent to `obj`.
|
|
13
|
+
*/
|
|
14
|
+
export function parseHeaders (
|
|
15
|
+
headers: (Buffer | string | (Buffer | string)[])[],
|
|
16
|
+
obj?: Record<string, string | string[]>
|
|
17
|
+
): Record<string, string | string[]>
|
|
18
|
+
}
|