@rio-cloud/cdk-v2-constructs 8.2.0 → 8.2.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.
Files changed (179) hide show
  1. package/.jsii +2 -2
  2. package/node_modules/@types/node/README.md +3 -3
  3. package/node_modules/@types/node/assert/strict.d.ts +105 -2
  4. package/node_modules/@types/node/assert.d.ts +211 -92
  5. package/node_modules/@types/node/async_hooks.d.ts +103 -19
  6. package/node_modules/@types/node/buffer.buffer.d.ts +472 -0
  7. package/node_modules/@types/node/buffer.d.ts +88 -516
  8. package/node_modules/@types/node/child_process.d.ts +167 -231
  9. package/node_modules/@types/node/cluster.d.ts +172 -26
  10. package/node_modules/@types/node/compatibility/iterators.d.ts +21 -0
  11. package/node_modules/@types/node/console.d.ts +66 -28
  12. package/node_modules/@types/node/constants.d.ts +14 -12
  13. package/node_modules/@types/node/crypto.d.ts +1458 -497
  14. package/node_modules/@types/node/dgram.d.ts +44 -30
  15. package/node_modules/@types/node/diagnostics_channel.d.ts +389 -4
  16. package/node_modules/@types/node/dns/promises.d.ts +120 -42
  17. package/node_modules/@types/node/dns.d.ts +209 -95
  18. package/node_modules/@types/node/domain.d.ts +14 -18
  19. package/node_modules/@types/node/events.d.ts +245 -113
  20. package/node_modules/@types/node/fs/promises.d.ts +194 -96
  21. package/node_modules/@types/node/fs.d.ts +695 -270
  22. package/node_modules/@types/node/globals.d.ts +97 -308
  23. package/node_modules/@types/node/globals.typedarray.d.ts +41 -0
  24. package/node_modules/@types/node/http.d.ts +363 -97
  25. package/node_modules/@types/node/http2.d.ts +684 -231
  26. package/node_modules/@types/node/https.d.ts +122 -87
  27. package/node_modules/@types/node/index.d.ts +24 -11
  28. package/node_modules/@types/node/inspector.d.ts +220 -2690
  29. package/node_modules/@types/node/inspector.generated.d.ts +4239 -0
  30. package/node_modules/@types/node/module.d.ts +705 -149
  31. package/node_modules/@types/node/net.d.ts +178 -54
  32. package/node_modules/@types/node/os.d.ts +47 -17
  33. package/node_modules/@types/node/package.json +22 -97
  34. package/node_modules/@types/node/path.d.ts +12 -3
  35. package/node_modules/@types/node/perf_hooks.d.ts +500 -97
  36. package/node_modules/@types/node/process.d.ts +657 -87
  37. package/node_modules/@types/node/punycode.d.ts +5 -5
  38. package/node_modules/@types/node/querystring.d.ts +24 -13
  39. package/node_modules/@types/node/readline/promises.d.ts +25 -14
  40. package/node_modules/@types/node/readline.d.ts +102 -41
  41. package/node_modules/@types/node/repl.d.ts +38 -30
  42. package/node_modules/@types/node/sea.d.ts +162 -0
  43. package/node_modules/@types/node/sqlite.d.ts +1040 -0
  44. package/node_modules/@types/node/stream/consumers.d.ts +33 -7
  45. package/node_modules/@types/node/stream/promises.d.ts +8 -1
  46. package/node_modules/@types/node/stream/web.d.ts +251 -28
  47. package/node_modules/@types/node/stream.d.ts +1060 -1055
  48. package/node_modules/@types/node/string_decoder.d.ts +8 -8
  49. package/node_modules/@types/node/test.d.ts +2133 -1166
  50. package/node_modules/@types/node/timers/promises.d.ts +31 -16
  51. package/node_modules/@types/node/timers.d.ts +159 -114
  52. package/node_modules/@types/node/tls.d.ts +232 -163
  53. package/node_modules/@types/node/trace_events.d.ts +43 -28
  54. package/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +468 -0
  55. package/node_modules/@types/node/ts5.6/compatibility/float16array.d.ts +71 -0
  56. package/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +36 -0
  57. package/node_modules/@types/node/ts5.6/index.d.ts +103 -0
  58. package/node_modules/@types/node/ts5.7/compatibility/float16array.d.ts +72 -0
  59. package/node_modules/@types/node/ts5.7/index.d.ts +103 -0
  60. package/node_modules/@types/node/tty.d.ts +9 -9
  61. package/node_modules/@types/node/url.d.ts +236 -84
  62. package/node_modules/@types/node/util.d.ts +562 -412
  63. package/node_modules/@types/node/v8.d.ts +368 -21
  64. package/node_modules/@types/node/vm.d.ts +443 -149
  65. package/node_modules/@types/node/wasi.d.ts +62 -18
  66. package/node_modules/@types/node/web-globals/abortcontroller.d.ts +34 -0
  67. package/node_modules/@types/node/web-globals/crypto.d.ts +32 -0
  68. package/node_modules/@types/node/web-globals/domexception.d.ts +68 -0
  69. package/node_modules/@types/node/web-globals/events.d.ts +97 -0
  70. package/node_modules/@types/node/web-globals/fetch.d.ts +62 -0
  71. package/node_modules/@types/node/web-globals/navigator.d.ts +25 -0
  72. package/node_modules/@types/node/web-globals/storage.d.ts +24 -0
  73. package/node_modules/@types/node/web-globals/streams.d.ts +22 -0
  74. package/node_modules/@types/node/worker_threads.d.ts +310 -107
  75. package/node_modules/@types/node/zlib.d.ts +301 -73
  76. package/node_modules/undici-types/LICENSE +21 -0
  77. package/node_modules/undici-types/agent.d.ts +13 -12
  78. package/node_modules/undici-types/api.d.ts +26 -26
  79. package/node_modules/undici-types/balanced-pool.d.ts +19 -7
  80. package/node_modules/undici-types/cache-interceptor.d.ts +173 -0
  81. package/node_modules/undici-types/client-stats.d.ts +15 -0
  82. package/node_modules/undici-types/client.d.ts +26 -15
  83. package/node_modules/undici-types/connector.d.ts +2 -2
  84. package/node_modules/undici-types/cookies.d.ts +2 -0
  85. package/node_modules/undici-types/diagnostics-channel.d.ts +19 -12
  86. package/node_modules/undici-types/dispatcher.d.ts +148 -113
  87. package/node_modules/undici-types/env-http-proxy-agent.d.ts +22 -0
  88. package/node_modules/undici-types/errors.d.ts +79 -46
  89. package/node_modules/undici-types/eventsource.d.ts +66 -0
  90. package/node_modules/undici-types/fetch.d.ts +41 -39
  91. package/node_modules/undici-types/formdata.d.ts +8 -8
  92. package/node_modules/undici-types/global-dispatcher.d.ts +4 -4
  93. package/node_modules/undici-types/global-origin.d.ts +5 -5
  94. package/node_modules/undici-types/h2c-client.d.ts +73 -0
  95. package/node_modules/undici-types/handlers.d.ts +11 -5
  96. package/node_modules/undici-types/header.d.ts +157 -1
  97. package/node_modules/undici-types/index.d.ts +68 -43
  98. package/node_modules/undici-types/interceptors.d.ts +71 -3
  99. package/node_modules/undici-types/mock-agent.d.ts +36 -18
  100. package/node_modules/undici-types/mock-call-history.d.ts +111 -0
  101. package/node_modules/undici-types/mock-client.d.ts +6 -4
  102. package/node_modules/undici-types/mock-errors.d.ts +3 -3
  103. package/node_modules/undici-types/mock-interceptor.d.ts +24 -23
  104. package/node_modules/undici-types/mock-pool.d.ts +6 -4
  105. package/node_modules/undici-types/package.json +1 -1
  106. package/node_modules/undici-types/patch.d.ts +0 -42
  107. package/node_modules/undici-types/pool-stats.d.ts +8 -8
  108. package/node_modules/undici-types/pool.d.ts +21 -8
  109. package/node_modules/undici-types/proxy-agent.d.ts +5 -6
  110. package/node_modules/undici-types/readable.d.ts +24 -17
  111. package/node_modules/undici-types/retry-agent.d.ts +8 -0
  112. package/node_modules/undici-types/retry-handler.d.ts +125 -0
  113. package/node_modules/undici-types/round-robin-pool.d.ts +41 -0
  114. package/node_modules/undici-types/snapshot-agent.d.ts +109 -0
  115. package/node_modules/undici-types/util.d.ts +18 -0
  116. package/node_modules/undici-types/utility.d.ts +7 -0
  117. package/node_modules/undici-types/webidl.d.ts +157 -36
  118. package/node_modules/undici-types/websocket.d.ts +67 -12
  119. package/package.json +9 -60
  120. package/version.json +1 -1
  121. package/node_modules/@types/node/dom-events.d.ts +0 -122
  122. package/node_modules/@types/node/globals.global.d.ts +0 -1
  123. package/node_modules/@types/node/ts4.8/assert/strict.d.ts +0 -8
  124. package/node_modules/@types/node/ts4.8/assert.d.ts +0 -996
  125. package/node_modules/@types/node/ts4.8/async_hooks.d.ts +0 -539
  126. package/node_modules/@types/node/ts4.8/buffer.d.ts +0 -2362
  127. package/node_modules/@types/node/ts4.8/child_process.d.ts +0 -1540
  128. package/node_modules/@types/node/ts4.8/cluster.d.ts +0 -432
  129. package/node_modules/@types/node/ts4.8/console.d.ts +0 -415
  130. package/node_modules/@types/node/ts4.8/constants.d.ts +0 -19
  131. package/node_modules/@types/node/ts4.8/crypto.d.ts +0 -4455
  132. package/node_modules/@types/node/ts4.8/dgram.d.ts +0 -586
  133. package/node_modules/@types/node/ts4.8/diagnostics_channel.d.ts +0 -191
  134. package/node_modules/@types/node/ts4.8/dns/promises.d.ts +0 -425
  135. package/node_modules/@types/node/ts4.8/dns.d.ts +0 -809
  136. package/node_modules/@types/node/ts4.8/dom-events.d.ts +0 -122
  137. package/node_modules/@types/node/ts4.8/domain.d.ts +0 -170
  138. package/node_modules/@types/node/ts4.8/events.d.ts +0 -796
  139. package/node_modules/@types/node/ts4.8/fs/promises.d.ts +0 -1232
  140. package/node_modules/@types/node/ts4.8/fs.d.ts +0 -4289
  141. package/node_modules/@types/node/ts4.8/globals.d.ts +0 -381
  142. package/node_modules/@types/node/ts4.8/globals.global.d.ts +0 -1
  143. package/node_modules/@types/node/ts4.8/http.d.ts +0 -1888
  144. package/node_modules/@types/node/ts4.8/http2.d.ts +0 -2382
  145. package/node_modules/@types/node/ts4.8/https.d.ts +0 -550
  146. package/node_modules/@types/node/ts4.8/index.d.ts +0 -88
  147. package/node_modules/@types/node/ts4.8/inspector.d.ts +0 -2747
  148. package/node_modules/@types/node/ts4.8/module.d.ts +0 -287
  149. package/node_modules/@types/node/ts4.8/net.d.ts +0 -949
  150. package/node_modules/@types/node/ts4.8/os.d.ts +0 -477
  151. package/node_modules/@types/node/ts4.8/path.d.ts +0 -191
  152. package/node_modules/@types/node/ts4.8/perf_hooks.d.ts +0 -639
  153. package/node_modules/@types/node/ts4.8/process.d.ts +0 -1532
  154. package/node_modules/@types/node/ts4.8/punycode.d.ts +0 -117
  155. package/node_modules/@types/node/ts4.8/querystring.d.ts +0 -141
  156. package/node_modules/@types/node/ts4.8/readline/promises.d.ts +0 -150
  157. package/node_modules/@types/node/ts4.8/readline.d.ts +0 -539
  158. package/node_modules/@types/node/ts4.8/repl.d.ts +0 -430
  159. package/node_modules/@types/node/ts4.8/stream/consumers.d.ts +0 -12
  160. package/node_modules/@types/node/ts4.8/stream/promises.d.ts +0 -83
  161. package/node_modules/@types/node/ts4.8/stream/web.d.ts +0 -350
  162. package/node_modules/@types/node/ts4.8/stream.d.ts +0 -1701
  163. package/node_modules/@types/node/ts4.8/string_decoder.d.ts +0 -67
  164. package/node_modules/@types/node/ts4.8/test.d.ts +0 -1382
  165. package/node_modules/@types/node/ts4.8/timers/promises.d.ts +0 -93
  166. package/node_modules/@types/node/ts4.8/timers.d.ts +0 -240
  167. package/node_modules/@types/node/ts4.8/tls.d.ts +0 -1210
  168. package/node_modules/@types/node/ts4.8/trace_events.d.ts +0 -182
  169. package/node_modules/@types/node/ts4.8/tty.d.ts +0 -208
  170. package/node_modules/@types/node/ts4.8/url.d.ts +0 -927
  171. package/node_modules/@types/node/ts4.8/util.d.ts +0 -2186
  172. package/node_modules/@types/node/ts4.8/v8.d.ts +0 -635
  173. package/node_modules/@types/node/ts4.8/vm.d.ts +0 -901
  174. package/node_modules/@types/node/ts4.8/wasi.d.ts +0 -158
  175. package/node_modules/@types/node/ts4.8/worker_threads.d.ts +0 -691
  176. package/node_modules/@types/node/ts4.8/zlib.d.ts +0 -517
  177. package/node_modules/argparse/CHANGELOG.md +0 -216
  178. package/node_modules/undici-types/file.d.ts +0 -39
  179. package/node_modules/undici-types/filereader.d.ts +0 -54
@@ -1,43 +1,43 @@
1
- import { URL, UrlObject } from 'url'
2
- import { Duplex } from 'stream'
1
+ import { URL, UrlObject } from 'node:url'
2
+ import { Duplex } from 'node:stream'
3
3
  import Dispatcher from './dispatcher'
4
4
 
5
- export {
6
- request,
7
- stream,
8
- pipeline,
9
- connect,
10
- upgrade,
11
- }
12
-
13
5
  /** Performs an HTTP request. */
14
- declare function request(
6
+ declare function request<TOpaque = null> (
15
7
  url: string | URL | UrlObject,
16
- options?: { dispatcher?: Dispatcher } & Omit<Dispatcher.RequestOptions, 'origin' | 'path' | 'method'> & Partial<Pick<Dispatcher.RequestOptions, 'method'>>,
17
- ): Promise<Dispatcher.ResponseData>;
8
+ options?: { dispatcher?: Dispatcher } & Omit<Dispatcher.RequestOptions<TOpaque>, 'origin' | 'path' | 'method'> & Partial<Pick<Dispatcher.RequestOptions, 'method'>>,
9
+ ): Promise<Dispatcher.ResponseData<TOpaque>>
18
10
 
19
11
  /** A faster version of `request`. */
20
- declare function stream(
12
+ declare function stream<TOpaque = null> (
21
13
  url: string | URL | UrlObject,
22
- options: { dispatcher?: Dispatcher } & Omit<Dispatcher.RequestOptions, 'origin' | 'path'>,
23
- factory: Dispatcher.StreamFactory
24
- ): Promise<Dispatcher.StreamData>;
14
+ options: { dispatcher?: Dispatcher } & Omit<Dispatcher.RequestOptions<TOpaque>, 'origin' | 'path'>,
15
+ factory: Dispatcher.StreamFactory<TOpaque>
16
+ ): Promise<Dispatcher.StreamData<TOpaque>>
25
17
 
26
18
  /** For easy use with `stream.pipeline`. */
27
- declare function pipeline(
19
+ declare function pipeline<TOpaque = null> (
28
20
  url: string | URL | UrlObject,
29
- options: { dispatcher?: Dispatcher } & Omit<Dispatcher.PipelineOptions, 'origin' | 'path'>,
30
- handler: Dispatcher.PipelineHandler
31
- ): Duplex;
21
+ options: { dispatcher?: Dispatcher } & Omit<Dispatcher.PipelineOptions<TOpaque>, 'origin' | 'path'>,
22
+ handler: Dispatcher.PipelineHandler<TOpaque>
23
+ ): Duplex
32
24
 
33
25
  /** Starts two-way communications with the requested resource. */
34
- declare function connect(
26
+ declare function connect<TOpaque = null> (
35
27
  url: string | URL | UrlObject,
36
- options?: { dispatcher?: Dispatcher } & Omit<Dispatcher.ConnectOptions, 'origin' | 'path'>
37
- ): Promise<Dispatcher.ConnectData>;
28
+ options?: { dispatcher?: Dispatcher } & Omit<Dispatcher.ConnectOptions<TOpaque>, 'origin' | 'path'>
29
+ ): Promise<Dispatcher.ConnectData<TOpaque>>
38
30
 
39
31
  /** Upgrade to a different protocol. */
40
- declare function upgrade(
32
+ declare function upgrade (
41
33
  url: string | URL | UrlObject,
42
34
  options?: { dispatcher?: Dispatcher } & Omit<Dispatcher.UpgradeOptions, 'origin' | 'path'>
43
- ): Promise<Dispatcher.UpgradeData>;
35
+ ): Promise<Dispatcher.UpgradeData>
36
+
37
+ export {
38
+ request,
39
+ stream,
40
+ pipeline,
41
+ connect,
42
+ upgrade
43
+ }
@@ -1,18 +1,30 @@
1
1
  import Pool from './pool'
2
2
  import Dispatcher from './dispatcher'
3
- import { URL } from 'url'
3
+ import { URL } from 'node:url'
4
4
 
5
5
  export default BalancedPool
6
6
 
7
+ type BalancedPoolConnectOptions = Omit<Dispatcher.ConnectOptions, 'origin'>
8
+
7
9
  declare class BalancedPool extends Dispatcher {
8
- constructor(url: string | string[] | URL | URL[], options?: Pool.Options);
10
+ constructor (url: string | string[] | URL | URL[], options?: Pool.Options)
9
11
 
10
- addUpstream(upstream: string | URL): BalancedPool;
11
- removeUpstream(upstream: string | URL): BalancedPool;
12
- upstreams: Array<string>;
12
+ addUpstream (upstream: string | URL): BalancedPool
13
+ removeUpstream (upstream: string | URL): BalancedPool
14
+ getUpstream (upstream: string | URL): Pool | undefined
15
+ upstreams: Array<string>
13
16
 
14
17
  /** `true` after `pool.close()` has been called. */
15
- closed: boolean;
18
+ closed: boolean
16
19
  /** `true` after `pool.destroyed()` has been called or `pool.close()` has been called and the pool shutdown has completed. */
17
- destroyed: boolean;
20
+ destroyed: boolean
21
+
22
+ // Override dispatcher APIs.
23
+ override connect (
24
+ options: BalancedPoolConnectOptions
25
+ ): Promise<Dispatcher.ConnectData>
26
+ override connect (
27
+ options: BalancedPoolConnectOptions,
28
+ callback: (err: Error | null, data: Dispatcher.ConnectData) => void
29
+ ): void
18
30
  }
@@ -0,0 +1,173 @@
1
+ import { Readable, Writable } from 'node:stream'
2
+
3
+ export default CacheHandler
4
+
5
+ declare namespace CacheHandler {
6
+ export type CacheMethods = 'GET' | 'HEAD' | 'OPTIONS' | 'TRACE'
7
+
8
+ export interface CacheHandlerOptions {
9
+ store: CacheStore
10
+
11
+ cacheByDefault?: number
12
+
13
+ type?: CacheOptions['type']
14
+ }
15
+
16
+ export interface CacheOptions {
17
+ store?: CacheStore
18
+
19
+ /**
20
+ * The methods to cache
21
+ * Note we can only cache safe methods. Unsafe methods (i.e. PUT, POST)
22
+ * invalidate the cache for a origin.
23
+ * @see https://www.rfc-editor.org/rfc/rfc9111.html#name-invalidating-stored-respons
24
+ * @see https://www.rfc-editor.org/rfc/rfc9110#section-9.2.1
25
+ */
26
+ methods?: CacheMethods[]
27
+
28
+ /**
29
+ * RFC9111 allows for caching responses that we aren't explicitly told to
30
+ * cache or to not cache.
31
+ * @see https://www.rfc-editor.org/rfc/rfc9111.html#section-3-5
32
+ * @default undefined
33
+ */
34
+ cacheByDefault?: number
35
+
36
+ /**
37
+ * TODO docs
38
+ * @default 'shared'
39
+ */
40
+ type?: 'shared' | 'private'
41
+
42
+ }
43
+
44
+ export interface CacheControlDirectives {
45
+ 'max-stale'?: number;
46
+ 'min-fresh'?: number;
47
+ 'max-age'?: number;
48
+ 's-maxage'?: number;
49
+ 'stale-while-revalidate'?: number;
50
+ 'stale-if-error'?: number;
51
+ public?: true;
52
+ private?: true | string[];
53
+ 'no-store'?: true;
54
+ 'no-cache'?: true | string[];
55
+ 'must-revalidate'?: true;
56
+ 'proxy-revalidate'?: true;
57
+ immutable?: true;
58
+ 'no-transform'?: true;
59
+ 'must-understand'?: true;
60
+ 'only-if-cached'?: true;
61
+ }
62
+
63
+ export interface CacheKey {
64
+ origin: string
65
+ method: string
66
+ path: string
67
+ headers?: Record<string, string | string[]>
68
+ }
69
+
70
+ export interface CacheValue {
71
+ statusCode: number
72
+ statusMessage: string
73
+ headers: Record<string, string | string[]>
74
+ vary?: Record<string, string | string[] | null>
75
+ etag?: string
76
+ cacheControlDirectives?: CacheControlDirectives
77
+ cachedAt: number
78
+ staleAt: number
79
+ deleteAt: number
80
+ }
81
+
82
+ export interface DeleteByUri {
83
+ origin: string
84
+ method: string
85
+ path: string
86
+ }
87
+
88
+ type GetResult = {
89
+ statusCode: number
90
+ statusMessage: string
91
+ headers: Record<string, string | string[]>
92
+ vary?: Record<string, string | string[] | null>
93
+ etag?: string
94
+ body?: Readable | Iterable<Buffer> | AsyncIterable<Buffer> | Buffer | Iterable<string> | AsyncIterable<string> | string
95
+ cacheControlDirectives: CacheControlDirectives,
96
+ cachedAt: number
97
+ staleAt: number
98
+ deleteAt: number
99
+ }
100
+
101
+ /**
102
+ * Underlying storage provider for cached responses
103
+ */
104
+ export interface CacheStore {
105
+ get(key: CacheKey): GetResult | Promise<GetResult | undefined> | undefined
106
+
107
+ createWriteStream(key: CacheKey, val: CacheValue): Writable | undefined
108
+
109
+ delete(key: CacheKey): void | Promise<void>
110
+ }
111
+
112
+ export interface MemoryCacheStoreOpts {
113
+ /**
114
+ * @default Infinity
115
+ */
116
+ maxCount?: number
117
+
118
+ /**
119
+ * @default Infinity
120
+ */
121
+ maxSize?: number
122
+
123
+ /**
124
+ * @default Infinity
125
+ */
126
+ maxEntrySize?: number
127
+
128
+ errorCallback?: (err: Error) => void
129
+ }
130
+
131
+ export class MemoryCacheStore implements CacheStore {
132
+ constructor (opts?: MemoryCacheStoreOpts)
133
+
134
+ get (key: CacheKey): GetResult | Promise<GetResult | undefined> | undefined
135
+
136
+ createWriteStream (key: CacheKey, value: CacheValue): Writable | undefined
137
+
138
+ delete (key: CacheKey): void | Promise<void>
139
+ }
140
+
141
+ export interface SqliteCacheStoreOpts {
142
+ /**
143
+ * Location of the database
144
+ * @default ':memory:'
145
+ */
146
+ location?: string
147
+
148
+ /**
149
+ * @default Infinity
150
+ */
151
+ maxCount?: number
152
+
153
+ /**
154
+ * @default Infinity
155
+ */
156
+ maxEntrySize?: number
157
+ }
158
+
159
+ export class SqliteCacheStore implements CacheStore {
160
+ constructor (opts?: SqliteCacheStoreOpts)
161
+
162
+ /**
163
+ * Closes the connection to the database
164
+ */
165
+ close (): void
166
+
167
+ get (key: CacheKey): GetResult | Promise<GetResult | undefined> | undefined
168
+
169
+ createWriteStream (key: CacheKey, value: CacheValue): Writable | undefined
170
+
171
+ delete (key: CacheKey): void | Promise<void>
172
+ }
173
+ }
@@ -0,0 +1,15 @@
1
+ import Client from './client'
2
+
3
+ export default ClientStats
4
+
5
+ declare class ClientStats {
6
+ constructor (pool: Client)
7
+ /** If socket has open connection. */
8
+ connected: boolean
9
+ /** Number of open socket connections in this client that do not have an active request. */
10
+ pending: number
11
+ /** Number of currently active requests of this client. */
12
+ running: number
13
+ /** Number of active, pending, or queued requests of this client. */
14
+ size: number
15
+ }
@@ -1,19 +1,32 @@
1
- import { URL } from 'url'
2
- import { TlsOptions } from 'tls'
1
+ import { URL } from 'node:url'
3
2
  import Dispatcher from './dispatcher'
4
- import buildConnector from "./connector";
3
+ import buildConnector from './connector'
4
+ import TClientStats from './client-stats'
5
+
6
+ type ClientConnectOptions = Omit<Dispatcher.ConnectOptions, 'origin'>
5
7
 
6
8
  /**
7
9
  * A basic HTTP/1.1 client, mapped on top a single TCP/TLS connection. Pipelining is disabled by default.
8
10
  */
9
11
  export class Client extends Dispatcher {
10
- constructor(url: string | URL, options?: Client.Options);
12
+ constructor (url: string | URL, options?: Client.Options)
11
13
  /** Property to get and set the pipelining factor. */
12
- pipelining: number;
14
+ pipelining: number
13
15
  /** `true` after `client.close()` has been called. */
14
- closed: boolean;
16
+ closed: boolean
15
17
  /** `true` after `client.destroyed()` has been called or `client.close()` has been called and the client shutdown has completed. */
16
- destroyed: boolean;
18
+ destroyed: boolean
19
+ /** Aggregate stats for a Client. */
20
+ readonly stats: TClientStats
21
+
22
+ // Override dispatcher APIs.
23
+ override connect (
24
+ options: ClientConnectOptions
25
+ ): Promise<Dispatcher.ConnectData>
26
+ override connect (
27
+ options: ClientConnectOptions,
28
+ callback: (err: Error | null, data: Dispatcher.ConnectData) => void
29
+ ): void
17
30
  }
18
31
 
19
32
  export declare namespace Client {
@@ -58,9 +71,7 @@ export declare namespace Client {
58
71
  /** TODO */
59
72
  maxCachedSessions?: number;
60
73
  /** TODO */
61
- maxRedirections?: number;
62
- /** TODO */
63
- connect?: buildConnector.BuildOptions | buildConnector.connector;
74
+ connect?: Partial<buildConnector.BuildOptions> | buildConnector.connector;
64
75
  /** TODO */
65
76
  maxRequestsPerClient?: number;
66
77
  /** TODO */
@@ -74,13 +85,13 @@ export declare namespace Client {
74
85
  /**
75
86
  * @description Enables support for H2 if the server has assigned bigger priority to it through ALPN negotiation.
76
87
  * @default false
77
- */
88
+ */
78
89
  allowH2?: boolean;
79
90
  /**
80
- * @description Dictates the maximum number of concurrent streams for a single H2 session. It can be overriden by a SETTINGS remote frame.
91
+ * @description Dictates the maximum number of concurrent streams for a single H2 session. It can be overridden by a SETTINGS remote frame.
81
92
  * @default 100
82
- */
83
- maxConcurrentStreams?: number
93
+ */
94
+ maxConcurrentStreams?: number;
84
95
  }
85
96
  export interface SocketInfo {
86
97
  localAddress?: string
@@ -94,4 +105,4 @@ export declare namespace Client {
94
105
  }
95
106
  }
96
107
 
97
- export default Client;
108
+ export default Client
@@ -1,5 +1,5 @@
1
- import { TLSSocket, ConnectionOptions } from 'tls'
2
- import { IpcNetConnectOpts, Socket, TcpNetConnectOpts } from 'net'
1
+ import { TLSSocket, ConnectionOptions } from 'node:tls'
2
+ import { IpcNetConnectOpts, Socket, TcpNetConnectOpts } from 'node:net'
3
3
 
4
4
  export default buildConnector
5
5
  declare function buildConnector (options?: buildConnector.BuildOptions): buildConnector.connector
@@ -26,3 +26,5 @@ export function getCookies (headers: Headers): Record<string, string>
26
26
  export function getSetCookies (headers: Headers): Cookie[]
27
27
 
28
28
  export function setCookie (headers: Headers, cookie: Cookie): void
29
+
30
+ export function parseCookie (cookie: string): Cookie | null
@@ -1,7 +1,7 @@
1
- import { Socket } from "net";
2
- import { URL } from "url";
3
- import Connector from "./connector";
4
- import Dispatcher from "./dispatcher";
1
+ import { Socket } from 'node:net'
2
+ import { URL } from 'node:url'
3
+ import buildConnector from './connector'
4
+ import Dispatcher from './dispatcher'
5
5
 
6
6
  declare namespace DiagnosticsChannel {
7
7
  interface Request {
@@ -9,29 +9,36 @@ declare namespace DiagnosticsChannel {
9
9
  completed: boolean;
10
10
  method?: Dispatcher.HttpMethod;
11
11
  path: string;
12
- headers: string;
13
- addHeader(key: string, value: string): Request;
12
+ headers: any;
14
13
  }
15
14
  interface Response {
16
15
  statusCode: number;
17
16
  statusText: string;
18
17
  headers: Array<Buffer>;
19
18
  }
20
- type Error = unknown;
21
19
  interface ConnectParams {
22
- host: URL["host"];
23
- hostname: URL["hostname"];
24
- protocol: URL["protocol"];
25
- port: URL["port"];
20
+ host: URL['host'];
21
+ hostname: URL['hostname'];
22
+ protocol: URL['protocol'];
23
+ port: URL['port'];
26
24
  servername: string | null;
27
25
  }
28
- type Connector = Connector.connector;
26
+ type Connector = buildConnector.connector
29
27
  export interface RequestCreateMessage {
30
28
  request: Request;
31
29
  }
32
30
  export interface RequestBodySentMessage {
33
31
  request: Request;
34
32
  }
33
+
34
+ export interface RequestBodyChunkSentMessage {
35
+ request: Request;
36
+ chunk: Uint8Array | string;
37
+ }
38
+ export interface RequestBodyChunkReceivedMessage {
39
+ request: Request;
40
+ chunk: Buffer;
41
+ }
35
42
  export interface RequestHeadersMessage {
36
43
  request: Request;
37
44
  response: Response;