@rharkor/caching-for-turbo 2.3.1 → 2.3.3

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.
@@ -0,0 +1,265 @@
1
+ export const id = 579;
2
+ export const ids = [579];
3
+ export const modules = {
4
+
5
+ /***/ 56579:
6
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
7
+
8
+
9
+
10
+ var utilUtf8 = __webpack_require__(71577);
11
+
12
+ class EventStreamSerde {
13
+ marshaller;
14
+ serializer;
15
+ deserializer;
16
+ serdeContext;
17
+ defaultContentType;
18
+ constructor({ marshaller, serializer, deserializer, serdeContext, defaultContentType, }) {
19
+ this.marshaller = marshaller;
20
+ this.serializer = serializer;
21
+ this.deserializer = deserializer;
22
+ this.serdeContext = serdeContext;
23
+ this.defaultContentType = defaultContentType;
24
+ }
25
+ async serializeEventStream({ eventStream, requestSchema, initialRequest, }) {
26
+ const marshaller = this.marshaller;
27
+ const eventStreamMember = requestSchema.getEventStreamMember();
28
+ const unionSchema = requestSchema.getMemberSchema(eventStreamMember);
29
+ const serializer = this.serializer;
30
+ const defaultContentType = this.defaultContentType;
31
+ const initialRequestMarker = Symbol("initialRequestMarker");
32
+ const eventStreamIterable = {
33
+ async *[Symbol.asyncIterator]() {
34
+ if (initialRequest) {
35
+ const headers = {
36
+ ":event-type": { type: "string", value: "initial-request" },
37
+ ":message-type": { type: "string", value: "event" },
38
+ ":content-type": { type: "string", value: defaultContentType },
39
+ };
40
+ serializer.write(requestSchema, initialRequest);
41
+ const body = serializer.flush();
42
+ yield {
43
+ [initialRequestMarker]: true,
44
+ headers,
45
+ body,
46
+ };
47
+ }
48
+ for await (const page of eventStream) {
49
+ yield page;
50
+ }
51
+ },
52
+ };
53
+ return marshaller.serialize(eventStreamIterable, (event) => {
54
+ if (event[initialRequestMarker]) {
55
+ return {
56
+ headers: event.headers,
57
+ body: event.body,
58
+ };
59
+ }
60
+ const unionMember = Object.keys(event).find((key) => {
61
+ return key !== "__type";
62
+ }) ?? "";
63
+ const { additionalHeaders, body, eventType, explicitPayloadContentType } = this.writeEventBody(unionMember, unionSchema, event);
64
+ const headers = {
65
+ ":event-type": { type: "string", value: eventType },
66
+ ":message-type": { type: "string", value: "event" },
67
+ ":content-type": { type: "string", value: explicitPayloadContentType ?? defaultContentType },
68
+ ...additionalHeaders,
69
+ };
70
+ return {
71
+ headers,
72
+ body,
73
+ };
74
+ });
75
+ }
76
+ async deserializeEventStream({ response, responseSchema, initialResponseContainer, }) {
77
+ const marshaller = this.marshaller;
78
+ const eventStreamMember = responseSchema.getEventStreamMember();
79
+ const unionSchema = responseSchema.getMemberSchema(eventStreamMember);
80
+ const memberSchemas = unionSchema.getMemberSchemas();
81
+ const initialResponseMarker = Symbol("initialResponseMarker");
82
+ const asyncIterable = marshaller.deserialize(response.body, async (event) => {
83
+ const unionMember = Object.keys(event).find((key) => {
84
+ return key !== "__type";
85
+ }) ?? "";
86
+ const body = event[unionMember].body;
87
+ if (unionMember === "initial-response") {
88
+ const dataObject = await this.deserializer.read(responseSchema, body);
89
+ delete dataObject[eventStreamMember];
90
+ return {
91
+ [initialResponseMarker]: true,
92
+ ...dataObject,
93
+ };
94
+ }
95
+ else if (unionMember in memberSchemas) {
96
+ const eventStreamSchema = memberSchemas[unionMember];
97
+ if (eventStreamSchema.isStructSchema()) {
98
+ const out = {};
99
+ let hasBindings = false;
100
+ for (const [name, member] of eventStreamSchema.structIterator()) {
101
+ const { eventHeader, eventPayload } = member.getMergedTraits();
102
+ hasBindings = hasBindings || Boolean(eventHeader || eventPayload);
103
+ if (eventPayload) {
104
+ if (member.isBlobSchema()) {
105
+ out[name] = body;
106
+ }
107
+ else if (member.isStringSchema()) {
108
+ out[name] = (this.serdeContext?.utf8Encoder ?? utilUtf8.toUtf8)(body);
109
+ }
110
+ else if (member.isStructSchema()) {
111
+ out[name] = await this.deserializer.read(member, body);
112
+ }
113
+ }
114
+ else if (eventHeader) {
115
+ const value = event[unionMember].headers[name]?.value;
116
+ if (value != null) {
117
+ if (member.isNumericSchema()) {
118
+ if (value && typeof value === "object" && "bytes" in value) {
119
+ out[name] = BigInt(value.toString());
120
+ }
121
+ else {
122
+ out[name] = Number(value);
123
+ }
124
+ }
125
+ else {
126
+ out[name] = value;
127
+ }
128
+ }
129
+ }
130
+ }
131
+ if (hasBindings) {
132
+ return {
133
+ [unionMember]: out,
134
+ };
135
+ }
136
+ }
137
+ return {
138
+ [unionMember]: await this.deserializer.read(eventStreamSchema, body),
139
+ };
140
+ }
141
+ else {
142
+ return {
143
+ $unknown: event,
144
+ };
145
+ }
146
+ });
147
+ const asyncIterator = asyncIterable[Symbol.asyncIterator]();
148
+ const firstEvent = await asyncIterator.next();
149
+ if (firstEvent.done) {
150
+ return asyncIterable;
151
+ }
152
+ if (firstEvent.value?.[initialResponseMarker]) {
153
+ if (!responseSchema) {
154
+ throw new Error("@smithy::core/protocols - initial-response event encountered in event stream but no response schema given.");
155
+ }
156
+ for (const [key, value] of Object.entries(firstEvent.value)) {
157
+ initialResponseContainer[key] = value;
158
+ }
159
+ }
160
+ return {
161
+ async *[Symbol.asyncIterator]() {
162
+ if (!firstEvent?.value?.[initialResponseMarker]) {
163
+ yield firstEvent.value;
164
+ }
165
+ while (true) {
166
+ const { done, value } = await asyncIterator.next();
167
+ if (done) {
168
+ break;
169
+ }
170
+ yield value;
171
+ }
172
+ },
173
+ };
174
+ }
175
+ writeEventBody(unionMember, unionSchema, event) {
176
+ const serializer = this.serializer;
177
+ let eventType = unionMember;
178
+ let explicitPayloadMember = null;
179
+ let explicitPayloadContentType;
180
+ const isKnownSchema = (() => {
181
+ const struct = unionSchema.getSchema();
182
+ return struct[4].includes(unionMember);
183
+ })();
184
+ const additionalHeaders = {};
185
+ if (!isKnownSchema) {
186
+ const [type, value] = event[unionMember];
187
+ eventType = type;
188
+ serializer.write(15, value);
189
+ }
190
+ else {
191
+ const eventSchema = unionSchema.getMemberSchema(unionMember);
192
+ if (eventSchema.isStructSchema()) {
193
+ for (const [memberName, memberSchema] of eventSchema.structIterator()) {
194
+ const { eventHeader, eventPayload } = memberSchema.getMergedTraits();
195
+ if (eventPayload) {
196
+ explicitPayloadMember = memberName;
197
+ }
198
+ else if (eventHeader) {
199
+ const value = event[unionMember][memberName];
200
+ let type = "binary";
201
+ if (memberSchema.isNumericSchema()) {
202
+ if ((-2) ** 31 <= value && value <= 2 ** 31 - 1) {
203
+ type = "integer";
204
+ }
205
+ else {
206
+ type = "long";
207
+ }
208
+ }
209
+ else if (memberSchema.isTimestampSchema()) {
210
+ type = "timestamp";
211
+ }
212
+ else if (memberSchema.isStringSchema()) {
213
+ type = "string";
214
+ }
215
+ else if (memberSchema.isBooleanSchema()) {
216
+ type = "boolean";
217
+ }
218
+ if (value != null) {
219
+ additionalHeaders[memberName] = {
220
+ type,
221
+ value,
222
+ };
223
+ delete event[unionMember][memberName];
224
+ }
225
+ }
226
+ }
227
+ if (explicitPayloadMember !== null) {
228
+ const payloadSchema = eventSchema.getMemberSchema(explicitPayloadMember);
229
+ if (payloadSchema.isBlobSchema()) {
230
+ explicitPayloadContentType = "application/octet-stream";
231
+ }
232
+ else if (payloadSchema.isStringSchema()) {
233
+ explicitPayloadContentType = "text/plain";
234
+ }
235
+ serializer.write(payloadSchema, event[unionMember][explicitPayloadMember]);
236
+ }
237
+ else {
238
+ serializer.write(eventSchema, event[unionMember]);
239
+ }
240
+ }
241
+ else {
242
+ throw new Error("@smithy/core/event-streams - non-struct member not supported in event stream union.");
243
+ }
244
+ }
245
+ const messageSerialization = serializer.flush();
246
+ const body = typeof messageSerialization === "string"
247
+ ? (this.serdeContext?.utf8Decoder ?? utilUtf8.fromUtf8)(messageSerialization)
248
+ : messageSerialization;
249
+ return {
250
+ body,
251
+ eventType,
252
+ explicitPayloadContentType,
253
+ additionalHeaders,
254
+ };
255
+ }
256
+ }
257
+
258
+ exports.EventStreamSerde = EventStreamSerde;
259
+
260
+
261
+ /***/ })
262
+
263
+ };
264
+
265
+ //# sourceMappingURL=579.index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"579.index.js","mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":[".././node_modules/@smithy/core/dist-cjs/submodules/event-streams/index.js"],"sourcesContent":["'use strict';\n\nvar utilUtf8 = require('@smithy/util-utf8');\n\nclass EventStreamSerde {\n marshaller;\n serializer;\n deserializer;\n serdeContext;\n defaultContentType;\n constructor({ marshaller, serializer, deserializer, serdeContext, defaultContentType, }) {\n this.marshaller = marshaller;\n this.serializer = serializer;\n this.deserializer = deserializer;\n this.serdeContext = serdeContext;\n this.defaultContentType = defaultContentType;\n }\n async serializeEventStream({ eventStream, requestSchema, initialRequest, }) {\n const marshaller = this.marshaller;\n const eventStreamMember = requestSchema.getEventStreamMember();\n const unionSchema = requestSchema.getMemberSchema(eventStreamMember);\n const serializer = this.serializer;\n const defaultContentType = this.defaultContentType;\n const initialRequestMarker = Symbol(\"initialRequestMarker\");\n const eventStreamIterable = {\n async *[Symbol.asyncIterator]() {\n if (initialRequest) {\n const headers = {\n \":event-type\": { type: \"string\", value: \"initial-request\" },\n \":message-type\": { type: \"string\", value: \"event\" },\n \":content-type\": { type: \"string\", value: defaultContentType },\n };\n serializer.write(requestSchema, initialRequest);\n const body = serializer.flush();\n yield {\n [initialRequestMarker]: true,\n headers,\n body,\n };\n }\n for await (const page of eventStream) {\n yield page;\n }\n },\n };\n return marshaller.serialize(eventStreamIterable, (event) => {\n if (event[initialRequestMarker]) {\n return {\n headers: event.headers,\n body: event.body,\n };\n }\n const unionMember = Object.keys(event).find((key) => {\n return key !== \"__type\";\n }) ?? \"\";\n const { additionalHeaders, body, eventType, explicitPayloadContentType } = this.writeEventBody(unionMember, unionSchema, event);\n const headers = {\n \":event-type\": { type: \"string\", value: eventType },\n \":message-type\": { type: \"string\", value: \"event\" },\n \":content-type\": { type: \"string\", value: explicitPayloadContentType ?? defaultContentType },\n ...additionalHeaders,\n };\n return {\n headers,\n body,\n };\n });\n }\n async deserializeEventStream({ response, responseSchema, initialResponseContainer, }) {\n const marshaller = this.marshaller;\n const eventStreamMember = responseSchema.getEventStreamMember();\n const unionSchema = responseSchema.getMemberSchema(eventStreamMember);\n const memberSchemas = unionSchema.getMemberSchemas();\n const initialResponseMarker = Symbol(\"initialResponseMarker\");\n const asyncIterable = marshaller.deserialize(response.body, async (event) => {\n const unionMember = Object.keys(event).find((key) => {\n return key !== \"__type\";\n }) ?? \"\";\n const body = event[unionMember].body;\n if (unionMember === \"initial-response\") {\n const dataObject = await this.deserializer.read(responseSchema, body);\n delete dataObject[eventStreamMember];\n return {\n [initialResponseMarker]: true,\n ...dataObject,\n };\n }\n else if (unionMember in memberSchemas) {\n const eventStreamSchema = memberSchemas[unionMember];\n if (eventStreamSchema.isStructSchema()) {\n const out = {};\n let hasBindings = false;\n for (const [name, member] of eventStreamSchema.structIterator()) {\n const { eventHeader, eventPayload } = member.getMergedTraits();\n hasBindings = hasBindings || Boolean(eventHeader || eventPayload);\n if (eventPayload) {\n if (member.isBlobSchema()) {\n out[name] = body;\n }\n else if (member.isStringSchema()) {\n out[name] = (this.serdeContext?.utf8Encoder ?? utilUtf8.toUtf8)(body);\n }\n else if (member.isStructSchema()) {\n out[name] = await this.deserializer.read(member, body);\n }\n }\n else if (eventHeader) {\n const value = event[unionMember].headers[name]?.value;\n if (value != null) {\n if (member.isNumericSchema()) {\n if (value && typeof value === \"object\" && \"bytes\" in value) {\n out[name] = BigInt(value.toString());\n }\n else {\n out[name] = Number(value);\n }\n }\n else {\n out[name] = value;\n }\n }\n }\n }\n if (hasBindings) {\n return {\n [unionMember]: out,\n };\n }\n }\n return {\n [unionMember]: await this.deserializer.read(eventStreamSchema, body),\n };\n }\n else {\n return {\n $unknown: event,\n };\n }\n });\n const asyncIterator = asyncIterable[Symbol.asyncIterator]();\n const firstEvent = await asyncIterator.next();\n if (firstEvent.done) {\n return asyncIterable;\n }\n if (firstEvent.value?.[initialResponseMarker]) {\n if (!responseSchema) {\n throw new Error(\"@smithy::core/protocols - initial-response event encountered in event stream but no response schema given.\");\n }\n for (const [key, value] of Object.entries(firstEvent.value)) {\n initialResponseContainer[key] = value;\n }\n }\n return {\n async *[Symbol.asyncIterator]() {\n if (!firstEvent?.value?.[initialResponseMarker]) {\n yield firstEvent.value;\n }\n while (true) {\n const { done, value } = await asyncIterator.next();\n if (done) {\n break;\n }\n yield value;\n }\n },\n };\n }\n writeEventBody(unionMember, unionSchema, event) {\n const serializer = this.serializer;\n let eventType = unionMember;\n let explicitPayloadMember = null;\n let explicitPayloadContentType;\n const isKnownSchema = (() => {\n const struct = unionSchema.getSchema();\n return struct[4].includes(unionMember);\n })();\n const additionalHeaders = {};\n if (!isKnownSchema) {\n const [type, value] = event[unionMember];\n eventType = type;\n serializer.write(15, value);\n }\n else {\n const eventSchema = unionSchema.getMemberSchema(unionMember);\n if (eventSchema.isStructSchema()) {\n for (const [memberName, memberSchema] of eventSchema.structIterator()) {\n const { eventHeader, eventPayload } = memberSchema.getMergedTraits();\n if (eventPayload) {\n explicitPayloadMember = memberName;\n }\n else if (eventHeader) {\n const value = event[unionMember][memberName];\n let type = \"binary\";\n if (memberSchema.isNumericSchema()) {\n if ((-2) ** 31 <= value && value <= 2 ** 31 - 1) {\n type = \"integer\";\n }\n else {\n type = \"long\";\n }\n }\n else if (memberSchema.isTimestampSchema()) {\n type = \"timestamp\";\n }\n else if (memberSchema.isStringSchema()) {\n type = \"string\";\n }\n else if (memberSchema.isBooleanSchema()) {\n type = \"boolean\";\n }\n if (value != null) {\n additionalHeaders[memberName] = {\n type,\n value,\n };\n delete event[unionMember][memberName];\n }\n }\n }\n if (explicitPayloadMember !== null) {\n const payloadSchema = eventSchema.getMemberSchema(explicitPayloadMember);\n if (payloadSchema.isBlobSchema()) {\n explicitPayloadContentType = \"application/octet-stream\";\n }\n else if (payloadSchema.isStringSchema()) {\n explicitPayloadContentType = \"text/plain\";\n }\n serializer.write(payloadSchema, event[unionMember][explicitPayloadMember]);\n }\n else {\n serializer.write(eventSchema, event[unionMember]);\n }\n }\n else {\n throw new Error(\"@smithy/core/event-streams - non-struct member not supported in event stream union.\");\n }\n }\n const messageSerialization = serializer.flush();\n const body = typeof messageSerialization === \"string\"\n ? (this.serdeContext?.utf8Decoder ?? utilUtf8.fromUtf8)(messageSerialization)\n : messageSerialization;\n return {\n body,\n eventType,\n explicitPayloadContentType,\n additionalHeaders,\n };\n }\n}\n\nexports.EventStreamSerde = EventStreamSerde;\n"],"names":[],"sourceRoot":""}
@@ -0,0 +1,234 @@
1
+ export const id = 605;
2
+ export const ids = [605];
3
+ export const modules = {
4
+
5
+ /***/ 1509:
6
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
7
+
8
+
9
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
10
+ exports.checkUrl = void 0;
11
+ const property_provider_1 = __webpack_require__(71238);
12
+ const LOOPBACK_CIDR_IPv4 = "127.0.0.0/8";
13
+ const LOOPBACK_CIDR_IPv6 = "::1/128";
14
+ const ECS_CONTAINER_HOST = "169.254.170.2";
15
+ const EKS_CONTAINER_HOST_IPv4 = "169.254.170.23";
16
+ const EKS_CONTAINER_HOST_IPv6 = "[fd00:ec2::23]";
17
+ const checkUrl = (url, logger) => {
18
+ if (url.protocol === "https:") {
19
+ return;
20
+ }
21
+ if (url.hostname === ECS_CONTAINER_HOST ||
22
+ url.hostname === EKS_CONTAINER_HOST_IPv4 ||
23
+ url.hostname === EKS_CONTAINER_HOST_IPv6) {
24
+ return;
25
+ }
26
+ if (url.hostname.includes("[")) {
27
+ if (url.hostname === "[::1]" || url.hostname === "[0000:0000:0000:0000:0000:0000:0000:0001]") {
28
+ return;
29
+ }
30
+ }
31
+ else {
32
+ if (url.hostname === "localhost") {
33
+ return;
34
+ }
35
+ const ipComponents = url.hostname.split(".");
36
+ const inRange = (component) => {
37
+ const num = parseInt(component, 10);
38
+ return 0 <= num && num <= 255;
39
+ };
40
+ if (ipComponents[0] === "127" &&
41
+ inRange(ipComponents[1]) &&
42
+ inRange(ipComponents[2]) &&
43
+ inRange(ipComponents[3]) &&
44
+ ipComponents.length === 4) {
45
+ return;
46
+ }
47
+ }
48
+ throw new property_provider_1.CredentialsProviderError(`URL not accepted. It must either be HTTPS or match one of the following:
49
+ - loopback CIDR 127.0.0.0/8 or [::1/128]
50
+ - ECS container host 169.254.170.2
51
+ - EKS container host 169.254.170.23 or [fd00:ec2::23]`, { logger });
52
+ };
53
+ exports.checkUrl = checkUrl;
54
+
55
+
56
+ /***/ }),
57
+
58
+ /***/ 68712:
59
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
60
+
61
+
62
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
63
+ exports.fromHttp = void 0;
64
+ const tslib_1 = __webpack_require__(61860);
65
+ const client_1 = __webpack_require__(5152);
66
+ const node_http_handler_1 = __webpack_require__(61279);
67
+ const property_provider_1 = __webpack_require__(71238);
68
+ const promises_1 = tslib_1.__importDefault(__webpack_require__(91943));
69
+ const checkUrl_1 = __webpack_require__(1509);
70
+ const requestHelpers_1 = __webpack_require__(78914);
71
+ const retry_wrapper_1 = __webpack_require__(51122);
72
+ const AWS_CONTAINER_CREDENTIALS_RELATIVE_URI = "AWS_CONTAINER_CREDENTIALS_RELATIVE_URI";
73
+ const DEFAULT_LINK_LOCAL_HOST = "http://169.254.170.2";
74
+ const AWS_CONTAINER_CREDENTIALS_FULL_URI = "AWS_CONTAINER_CREDENTIALS_FULL_URI";
75
+ const AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE = "AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE";
76
+ const AWS_CONTAINER_AUTHORIZATION_TOKEN = "AWS_CONTAINER_AUTHORIZATION_TOKEN";
77
+ const fromHttp = (options = {}) => {
78
+ options.logger?.debug("@aws-sdk/credential-provider-http - fromHttp");
79
+ let host;
80
+ const relative = options.awsContainerCredentialsRelativeUri ?? process.env[AWS_CONTAINER_CREDENTIALS_RELATIVE_URI];
81
+ const full = options.awsContainerCredentialsFullUri ?? process.env[AWS_CONTAINER_CREDENTIALS_FULL_URI];
82
+ const token = options.awsContainerAuthorizationToken ?? process.env[AWS_CONTAINER_AUTHORIZATION_TOKEN];
83
+ const tokenFile = options.awsContainerAuthorizationTokenFile ?? process.env[AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE];
84
+ const warn = options.logger?.constructor?.name === "NoOpLogger" || !options.logger?.warn
85
+ ? console.warn
86
+ : options.logger.warn.bind(options.logger);
87
+ if (relative && full) {
88
+ warn("@aws-sdk/credential-provider-http: " +
89
+ "you have set both awsContainerCredentialsRelativeUri and awsContainerCredentialsFullUri.");
90
+ warn("awsContainerCredentialsFullUri will take precedence.");
91
+ }
92
+ if (token && tokenFile) {
93
+ warn("@aws-sdk/credential-provider-http: " +
94
+ "you have set both awsContainerAuthorizationToken and awsContainerAuthorizationTokenFile.");
95
+ warn("awsContainerAuthorizationToken will take precedence.");
96
+ }
97
+ if (full) {
98
+ host = full;
99
+ }
100
+ else if (relative) {
101
+ host = `${DEFAULT_LINK_LOCAL_HOST}${relative}`;
102
+ }
103
+ else {
104
+ throw new property_provider_1.CredentialsProviderError(`No HTTP credential provider host provided.
105
+ Set AWS_CONTAINER_CREDENTIALS_FULL_URI or AWS_CONTAINER_CREDENTIALS_RELATIVE_URI.`, { logger: options.logger });
106
+ }
107
+ const url = new URL(host);
108
+ (0, checkUrl_1.checkUrl)(url, options.logger);
109
+ const requestHandler = node_http_handler_1.NodeHttpHandler.create({
110
+ requestTimeout: options.timeout ?? 1000,
111
+ connectionTimeout: options.timeout ?? 1000,
112
+ });
113
+ return (0, retry_wrapper_1.retryWrapper)(async () => {
114
+ const request = (0, requestHelpers_1.createGetRequest)(url);
115
+ if (token) {
116
+ request.headers.Authorization = token;
117
+ }
118
+ else if (tokenFile) {
119
+ request.headers.Authorization = (await promises_1.default.readFile(tokenFile)).toString();
120
+ }
121
+ try {
122
+ const result = await requestHandler.handle(request);
123
+ return (0, requestHelpers_1.getCredentials)(result.response).then((creds) => (0, client_1.setCredentialFeature)(creds, "CREDENTIALS_HTTP", "z"));
124
+ }
125
+ catch (e) {
126
+ throw new property_provider_1.CredentialsProviderError(String(e), { logger: options.logger });
127
+ }
128
+ }, options.maxRetries ?? 3, options.timeout ?? 1000);
129
+ };
130
+ exports.fromHttp = fromHttp;
131
+
132
+
133
+ /***/ }),
134
+
135
+ /***/ 78914:
136
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
137
+
138
+
139
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
140
+ exports.createGetRequest = createGetRequest;
141
+ exports.getCredentials = getCredentials;
142
+ const property_provider_1 = __webpack_require__(71238);
143
+ const protocol_http_1 = __webpack_require__(72356);
144
+ const smithy_client_1 = __webpack_require__(61411);
145
+ const util_stream_1 = __webpack_require__(4252);
146
+ function createGetRequest(url) {
147
+ return new protocol_http_1.HttpRequest({
148
+ protocol: url.protocol,
149
+ hostname: url.hostname,
150
+ port: Number(url.port),
151
+ path: url.pathname,
152
+ query: Array.from(url.searchParams.entries()).reduce((acc, [k, v]) => {
153
+ acc[k] = v;
154
+ return acc;
155
+ }, {}),
156
+ fragment: url.hash,
157
+ });
158
+ }
159
+ async function getCredentials(response, logger) {
160
+ const stream = (0, util_stream_1.sdkStreamMixin)(response.body);
161
+ const str = await stream.transformToString();
162
+ if (response.statusCode === 200) {
163
+ const parsed = JSON.parse(str);
164
+ if (typeof parsed.AccessKeyId !== "string" ||
165
+ typeof parsed.SecretAccessKey !== "string" ||
166
+ typeof parsed.Token !== "string" ||
167
+ typeof parsed.Expiration !== "string") {
168
+ throw new property_provider_1.CredentialsProviderError("HTTP credential provider response not of the required format, an object matching: " +
169
+ "{ AccessKeyId: string, SecretAccessKey: string, Token: string, Expiration: string(rfc3339) }", { logger });
170
+ }
171
+ return {
172
+ accessKeyId: parsed.AccessKeyId,
173
+ secretAccessKey: parsed.SecretAccessKey,
174
+ sessionToken: parsed.Token,
175
+ expiration: (0, smithy_client_1.parseRfc3339DateTime)(parsed.Expiration),
176
+ };
177
+ }
178
+ if (response.statusCode >= 400 && response.statusCode < 500) {
179
+ let parsedBody = {};
180
+ try {
181
+ parsedBody = JSON.parse(str);
182
+ }
183
+ catch (e) { }
184
+ throw Object.assign(new property_provider_1.CredentialsProviderError(`Server responded with status: ${response.statusCode}`, { logger }), {
185
+ Code: parsedBody.Code,
186
+ Message: parsedBody.Message,
187
+ });
188
+ }
189
+ throw new property_provider_1.CredentialsProviderError(`Server responded with status: ${response.statusCode}`, { logger });
190
+ }
191
+
192
+
193
+ /***/ }),
194
+
195
+ /***/ 51122:
196
+ /***/ ((__unused_webpack_module, exports) => {
197
+
198
+
199
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
200
+ exports.retryWrapper = void 0;
201
+ const retryWrapper = (toRetry, maxRetries, delayMs) => {
202
+ return async () => {
203
+ for (let i = 0; i < maxRetries; ++i) {
204
+ try {
205
+ return await toRetry();
206
+ }
207
+ catch (e) {
208
+ await new Promise((resolve) => setTimeout(resolve, delayMs));
209
+ }
210
+ }
211
+ return await toRetry();
212
+ };
213
+ };
214
+ exports.retryWrapper = retryWrapper;
215
+
216
+
217
+ /***/ }),
218
+
219
+ /***/ 98605:
220
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
221
+
222
+ var __webpack_unused_export__;
223
+
224
+ __webpack_unused_export__ = ({ value: true });
225
+ exports.fromHttp = void 0;
226
+ var fromHttp_1 = __webpack_require__(68712);
227
+ Object.defineProperty(exports, "fromHttp", ({ enumerable: true, get: function () { return fromHttp_1.fromHttp; } }));
228
+
229
+
230
+ /***/ })
231
+
232
+ };
233
+
234
+ //# sourceMappingURL=605.index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"605.index.js","mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AChBA;AACA;AACA;AACA;AACA","sources":[".././node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/checkUrl.js",".././node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/fromHttp.js",".././node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/requestHelpers.js",".././node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/retry-wrapper.js",".././node_modules/@aws-sdk/credential-provider-http/dist-cjs/index.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.checkUrl = void 0;\nconst property_provider_1 = require(\"@smithy/property-provider\");\nconst LOOPBACK_CIDR_IPv4 = \"127.0.0.0/8\";\nconst LOOPBACK_CIDR_IPv6 = \"::1/128\";\nconst ECS_CONTAINER_HOST = \"169.254.170.2\";\nconst EKS_CONTAINER_HOST_IPv4 = \"169.254.170.23\";\nconst EKS_CONTAINER_HOST_IPv6 = \"[fd00:ec2::23]\";\nconst checkUrl = (url, logger) => {\n if (url.protocol === \"https:\") {\n return;\n }\n if (url.hostname === ECS_CONTAINER_HOST ||\n url.hostname === EKS_CONTAINER_HOST_IPv4 ||\n url.hostname === EKS_CONTAINER_HOST_IPv6) {\n return;\n }\n if (url.hostname.includes(\"[\")) {\n if (url.hostname === \"[::1]\" || url.hostname === \"[0000:0000:0000:0000:0000:0000:0000:0001]\") {\n return;\n }\n }\n else {\n if (url.hostname === \"localhost\") {\n return;\n }\n const ipComponents = url.hostname.split(\".\");\n const inRange = (component) => {\n const num = parseInt(component, 10);\n return 0 <= num && num <= 255;\n };\n if (ipComponents[0] === \"127\" &&\n inRange(ipComponents[1]) &&\n inRange(ipComponents[2]) &&\n inRange(ipComponents[3]) &&\n ipComponents.length === 4) {\n return;\n }\n }\n throw new property_provider_1.CredentialsProviderError(`URL not accepted. It must either be HTTPS or match one of the following:\n - loopback CIDR 127.0.0.0/8 or [::1/128]\n - ECS container host 169.254.170.2\n - EKS container host 169.254.170.23 or [fd00:ec2::23]`, { logger });\n};\nexports.checkUrl = checkUrl;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromHttp = void 0;\nconst tslib_1 = require(\"tslib\");\nconst client_1 = require(\"@aws-sdk/core/client\");\nconst node_http_handler_1 = require(\"@smithy/node-http-handler\");\nconst property_provider_1 = require(\"@smithy/property-provider\");\nconst promises_1 = tslib_1.__importDefault(require(\"fs/promises\"));\nconst checkUrl_1 = require(\"./checkUrl\");\nconst requestHelpers_1 = require(\"./requestHelpers\");\nconst retry_wrapper_1 = require(\"./retry-wrapper\");\nconst AWS_CONTAINER_CREDENTIALS_RELATIVE_URI = \"AWS_CONTAINER_CREDENTIALS_RELATIVE_URI\";\nconst DEFAULT_LINK_LOCAL_HOST = \"http://169.254.170.2\";\nconst AWS_CONTAINER_CREDENTIALS_FULL_URI = \"AWS_CONTAINER_CREDENTIALS_FULL_URI\";\nconst AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE = \"AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE\";\nconst AWS_CONTAINER_AUTHORIZATION_TOKEN = \"AWS_CONTAINER_AUTHORIZATION_TOKEN\";\nconst fromHttp = (options = {}) => {\n options.logger?.debug(\"@aws-sdk/credential-provider-http - fromHttp\");\n let host;\n const relative = options.awsContainerCredentialsRelativeUri ?? process.env[AWS_CONTAINER_CREDENTIALS_RELATIVE_URI];\n const full = options.awsContainerCredentialsFullUri ?? process.env[AWS_CONTAINER_CREDENTIALS_FULL_URI];\n const token = options.awsContainerAuthorizationToken ?? process.env[AWS_CONTAINER_AUTHORIZATION_TOKEN];\n const tokenFile = options.awsContainerAuthorizationTokenFile ?? process.env[AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE];\n const warn = options.logger?.constructor?.name === \"NoOpLogger\" || !options.logger?.warn\n ? console.warn\n : options.logger.warn.bind(options.logger);\n if (relative && full) {\n warn(\"@aws-sdk/credential-provider-http: \" +\n \"you have set both awsContainerCredentialsRelativeUri and awsContainerCredentialsFullUri.\");\n warn(\"awsContainerCredentialsFullUri will take precedence.\");\n }\n if (token && tokenFile) {\n warn(\"@aws-sdk/credential-provider-http: \" +\n \"you have set both awsContainerAuthorizationToken and awsContainerAuthorizationTokenFile.\");\n warn(\"awsContainerAuthorizationToken will take precedence.\");\n }\n if (full) {\n host = full;\n }\n else if (relative) {\n host = `${DEFAULT_LINK_LOCAL_HOST}${relative}`;\n }\n else {\n throw new property_provider_1.CredentialsProviderError(`No HTTP credential provider host provided.\nSet AWS_CONTAINER_CREDENTIALS_FULL_URI or AWS_CONTAINER_CREDENTIALS_RELATIVE_URI.`, { logger: options.logger });\n }\n const url = new URL(host);\n (0, checkUrl_1.checkUrl)(url, options.logger);\n const requestHandler = node_http_handler_1.NodeHttpHandler.create({\n requestTimeout: options.timeout ?? 1000,\n connectionTimeout: options.timeout ?? 1000,\n });\n return (0, retry_wrapper_1.retryWrapper)(async () => {\n const request = (0, requestHelpers_1.createGetRequest)(url);\n if (token) {\n request.headers.Authorization = token;\n }\n else if (tokenFile) {\n request.headers.Authorization = (await promises_1.default.readFile(tokenFile)).toString();\n }\n try {\n const result = await requestHandler.handle(request);\n return (0, requestHelpers_1.getCredentials)(result.response).then((creds) => (0, client_1.setCredentialFeature)(creds, \"CREDENTIALS_HTTP\", \"z\"));\n }\n catch (e) {\n throw new property_provider_1.CredentialsProviderError(String(e), { logger: options.logger });\n }\n }, options.maxRetries ?? 3, options.timeout ?? 1000);\n};\nexports.fromHttp = fromHttp;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createGetRequest = createGetRequest;\nexports.getCredentials = getCredentials;\nconst property_provider_1 = require(\"@smithy/property-provider\");\nconst protocol_http_1 = require(\"@smithy/protocol-http\");\nconst smithy_client_1 = require(\"@smithy/smithy-client\");\nconst util_stream_1 = require(\"@smithy/util-stream\");\nfunction createGetRequest(url) {\n return new protocol_http_1.HttpRequest({\n protocol: url.protocol,\n hostname: url.hostname,\n port: Number(url.port),\n path: url.pathname,\n query: Array.from(url.searchParams.entries()).reduce((acc, [k, v]) => {\n acc[k] = v;\n return acc;\n }, {}),\n fragment: url.hash,\n });\n}\nasync function getCredentials(response, logger) {\n const stream = (0, util_stream_1.sdkStreamMixin)(response.body);\n const str = await stream.transformToString();\n if (response.statusCode === 200) {\n const parsed = JSON.parse(str);\n if (typeof parsed.AccessKeyId !== \"string\" ||\n typeof parsed.SecretAccessKey !== \"string\" ||\n typeof parsed.Token !== \"string\" ||\n typeof parsed.Expiration !== \"string\") {\n throw new property_provider_1.CredentialsProviderError(\"HTTP credential provider response not of the required format, an object matching: \" +\n \"{ AccessKeyId: string, SecretAccessKey: string, Token: string, Expiration: string(rfc3339) }\", { logger });\n }\n return {\n accessKeyId: parsed.AccessKeyId,\n secretAccessKey: parsed.SecretAccessKey,\n sessionToken: parsed.Token,\n expiration: (0, smithy_client_1.parseRfc3339DateTime)(parsed.Expiration),\n };\n }\n if (response.statusCode >= 400 && response.statusCode < 500) {\n let parsedBody = {};\n try {\n parsedBody = JSON.parse(str);\n }\n catch (e) { }\n throw Object.assign(new property_provider_1.CredentialsProviderError(`Server responded with status: ${response.statusCode}`, { logger }), {\n Code: parsedBody.Code,\n Message: parsedBody.Message,\n });\n }\n throw new property_provider_1.CredentialsProviderError(`Server responded with status: ${response.statusCode}`, { logger });\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.retryWrapper = void 0;\nconst retryWrapper = (toRetry, maxRetries, delayMs) => {\n return async () => {\n for (let i = 0; i < maxRetries; ++i) {\n try {\n return await toRetry();\n }\n catch (e) {\n await new Promise((resolve) => setTimeout(resolve, delayMs));\n }\n }\n return await toRetry();\n };\n};\nexports.retryWrapper = retryWrapper;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromHttp = void 0;\nvar fromHttp_1 = require(\"./fromHttp/fromHttp\");\nObject.defineProperty(exports, \"fromHttp\", { enumerable: true, get: function () { return fromHttp_1.fromHttp; } });\n"],"names":[],"sourceRoot":""}