cloudstructs 0.6.47 → 0.6.49

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 (195) hide show
  1. package/.jsii +3 -3
  2. package/assets/slack-textract/detect.lambda/index.js +97 -64
  3. package/lib/codecommit-mirror/index.js +2 -2
  4. package/lib/dmarc/index.js +1 -1
  5. package/lib/ecs-service-roller/index.js +2 -2
  6. package/lib/email-receiver/receiver.js +1 -1
  7. package/lib/saml-identity-provider/index.js +2 -2
  8. package/lib/slack-app/manifest.js +1 -1
  9. package/lib/slack-app/slack-app.js +2 -2
  10. package/lib/slack-events/index.js +1 -1
  11. package/lib/slack-textract/index.js +1 -1
  12. package/lib/ssl-server-test/index.js +1 -1
  13. package/lib/state-machine-cr-provider/index.js +1 -1
  14. package/lib/static-website/index.js +1 -1
  15. package/lib/toolkit-cleaner/index.js +1 -1
  16. package/lib/url-shortener/index.js +1 -1
  17. package/node_modules/@slack/logger/node_modules/@types/node/README.md +1 -1
  18. package/node_modules/@slack/logger/node_modules/@types/node/buffer.d.ts +1 -1
  19. package/node_modules/@slack/logger/node_modules/@types/node/crypto.d.ts +29 -6
  20. package/node_modules/@slack/logger/node_modules/@types/node/dgram.d.ts +10 -0
  21. package/node_modules/@slack/logger/node_modules/@types/node/diagnostics_channel.d.ts +355 -1
  22. package/node_modules/@slack/logger/node_modules/@types/node/http.d.ts +6 -7
  23. package/node_modules/@slack/logger/node_modules/@types/node/module.d.ts +14 -0
  24. package/node_modules/@slack/logger/node_modules/@types/node/package.json +2 -2
  25. package/node_modules/@slack/logger/node_modules/@types/node/perf_hooks.d.ts +12 -6
  26. package/node_modules/@slack/logger/node_modules/@types/node/process.d.ts +25 -3
  27. package/node_modules/@slack/logger/node_modules/@types/node/querystring.d.ts +3 -3
  28. package/node_modules/@slack/logger/node_modules/@types/node/stream/web.d.ts +17 -1
  29. package/node_modules/@slack/logger/node_modules/@types/node/test.d.ts +98 -15
  30. package/node_modules/@slack/logger/node_modules/@types/node/ts4.8/buffer.d.ts +1 -1
  31. package/node_modules/@slack/logger/node_modules/@types/node/ts4.8/crypto.d.ts +29 -6
  32. package/node_modules/@slack/logger/node_modules/@types/node/ts4.8/dgram.d.ts +10 -0
  33. package/node_modules/@slack/logger/node_modules/@types/node/ts4.8/diagnostics_channel.d.ts +355 -1
  34. package/node_modules/@slack/logger/node_modules/@types/node/ts4.8/http.d.ts +6 -7
  35. package/node_modules/@slack/logger/node_modules/@types/node/ts4.8/module.d.ts +14 -0
  36. package/node_modules/@slack/logger/node_modules/@types/node/ts4.8/perf_hooks.d.ts +13 -7
  37. package/node_modules/@slack/logger/node_modules/@types/node/ts4.8/process.d.ts +25 -3
  38. package/node_modules/@slack/logger/node_modules/@types/node/ts4.8/querystring.d.ts +3 -3
  39. package/node_modules/@slack/logger/node_modules/@types/node/ts4.8/stream/web.d.ts +17 -1
  40. package/node_modules/@slack/logger/node_modules/@types/node/ts4.8/test.d.ts +98 -15
  41. package/node_modules/@slack/logger/node_modules/@types/node/ts4.8/wasi.d.ts +9 -5
  42. package/node_modules/@slack/logger/node_modules/@types/node/wasi.d.ts +9 -5
  43. package/node_modules/@slack/web-api/node_modules/@types/node/README.md +1 -1
  44. package/node_modules/@slack/web-api/node_modules/@types/node/buffer.d.ts +1 -1
  45. package/node_modules/@slack/web-api/node_modules/@types/node/crypto.d.ts +29 -6
  46. package/node_modules/@slack/web-api/node_modules/@types/node/dgram.d.ts +10 -0
  47. package/node_modules/@slack/web-api/node_modules/@types/node/diagnostics_channel.d.ts +355 -1
  48. package/node_modules/@slack/web-api/node_modules/@types/node/http.d.ts +6 -7
  49. package/node_modules/@slack/web-api/node_modules/@types/node/module.d.ts +14 -0
  50. package/node_modules/@slack/web-api/node_modules/@types/node/package.json +2 -2
  51. package/node_modules/@slack/web-api/node_modules/@types/node/perf_hooks.d.ts +12 -6
  52. package/node_modules/@slack/web-api/node_modules/@types/node/process.d.ts +25 -3
  53. package/node_modules/@slack/web-api/node_modules/@types/node/querystring.d.ts +3 -3
  54. package/node_modules/@slack/web-api/node_modules/@types/node/stream/web.d.ts +17 -1
  55. package/node_modules/@slack/web-api/node_modules/@types/node/test.d.ts +98 -15
  56. package/node_modules/@slack/web-api/node_modules/@types/node/ts4.8/buffer.d.ts +1 -1
  57. package/node_modules/@slack/web-api/node_modules/@types/node/ts4.8/crypto.d.ts +29 -6
  58. package/node_modules/@slack/web-api/node_modules/@types/node/ts4.8/dgram.d.ts +10 -0
  59. package/node_modules/@slack/web-api/node_modules/@types/node/ts4.8/diagnostics_channel.d.ts +355 -1
  60. package/node_modules/@slack/web-api/node_modules/@types/node/ts4.8/http.d.ts +6 -7
  61. package/node_modules/@slack/web-api/node_modules/@types/node/ts4.8/module.d.ts +14 -0
  62. package/node_modules/@slack/web-api/node_modules/@types/node/ts4.8/perf_hooks.d.ts +13 -7
  63. package/node_modules/@slack/web-api/node_modules/@types/node/ts4.8/process.d.ts +25 -3
  64. package/node_modules/@slack/web-api/node_modules/@types/node/ts4.8/querystring.d.ts +3 -3
  65. package/node_modules/@slack/web-api/node_modules/@types/node/ts4.8/stream/web.d.ts +17 -1
  66. package/node_modules/@slack/web-api/node_modules/@types/node/ts4.8/test.d.ts +98 -15
  67. package/node_modules/@slack/web-api/node_modules/@types/node/ts4.8/wasi.d.ts +9 -5
  68. package/node_modules/@slack/web-api/node_modules/@types/node/wasi.d.ts +9 -5
  69. package/node_modules/@slack/web-api/package.json +2 -2
  70. package/node_modules/@types/cacheable-request/node_modules/@types/node/README.md +1 -1
  71. package/node_modules/@types/cacheable-request/node_modules/@types/node/buffer.d.ts +1 -1
  72. package/node_modules/@types/cacheable-request/node_modules/@types/node/crypto.d.ts +29 -6
  73. package/node_modules/@types/cacheable-request/node_modules/@types/node/dgram.d.ts +10 -0
  74. package/node_modules/@types/cacheable-request/node_modules/@types/node/diagnostics_channel.d.ts +355 -1
  75. package/node_modules/@types/cacheable-request/node_modules/@types/node/http.d.ts +6 -7
  76. package/node_modules/@types/cacheable-request/node_modules/@types/node/module.d.ts +14 -0
  77. package/node_modules/@types/cacheable-request/node_modules/@types/node/package.json +2 -2
  78. package/node_modules/@types/cacheable-request/node_modules/@types/node/perf_hooks.d.ts +12 -6
  79. package/node_modules/@types/cacheable-request/node_modules/@types/node/process.d.ts +25 -3
  80. package/node_modules/@types/cacheable-request/node_modules/@types/node/querystring.d.ts +3 -3
  81. package/node_modules/@types/cacheable-request/node_modules/@types/node/stream/web.d.ts +17 -1
  82. package/node_modules/@types/cacheable-request/node_modules/@types/node/test.d.ts +98 -15
  83. package/node_modules/@types/cacheable-request/node_modules/@types/node/ts4.8/buffer.d.ts +1 -1
  84. package/node_modules/@types/cacheable-request/node_modules/@types/node/ts4.8/crypto.d.ts +29 -6
  85. package/node_modules/@types/cacheable-request/node_modules/@types/node/ts4.8/dgram.d.ts +10 -0
  86. package/node_modules/@types/cacheable-request/node_modules/@types/node/ts4.8/diagnostics_channel.d.ts +355 -1
  87. package/node_modules/@types/cacheable-request/node_modules/@types/node/ts4.8/http.d.ts +6 -7
  88. package/node_modules/@types/cacheable-request/node_modules/@types/node/ts4.8/module.d.ts +14 -0
  89. package/node_modules/@types/cacheable-request/node_modules/@types/node/ts4.8/perf_hooks.d.ts +13 -7
  90. package/node_modules/@types/cacheable-request/node_modules/@types/node/ts4.8/process.d.ts +25 -3
  91. package/node_modules/@types/cacheable-request/node_modules/@types/node/ts4.8/querystring.d.ts +3 -3
  92. package/node_modules/@types/cacheable-request/node_modules/@types/node/ts4.8/stream/web.d.ts +17 -1
  93. package/node_modules/@types/cacheable-request/node_modules/@types/node/ts4.8/test.d.ts +98 -15
  94. package/node_modules/@types/cacheable-request/node_modules/@types/node/ts4.8/wasi.d.ts +9 -5
  95. package/node_modules/@types/cacheable-request/node_modules/@types/node/wasi.d.ts +9 -5
  96. package/node_modules/@types/is-stream/node_modules/@types/node/README.md +1 -1
  97. package/node_modules/@types/is-stream/node_modules/@types/node/buffer.d.ts +1 -1
  98. package/node_modules/@types/is-stream/node_modules/@types/node/crypto.d.ts +29 -6
  99. package/node_modules/@types/is-stream/node_modules/@types/node/dgram.d.ts +10 -0
  100. package/node_modules/@types/is-stream/node_modules/@types/node/diagnostics_channel.d.ts +355 -1
  101. package/node_modules/@types/is-stream/node_modules/@types/node/http.d.ts +6 -7
  102. package/node_modules/@types/is-stream/node_modules/@types/node/module.d.ts +14 -0
  103. package/node_modules/@types/is-stream/node_modules/@types/node/package.json +2 -2
  104. package/node_modules/@types/is-stream/node_modules/@types/node/perf_hooks.d.ts +12 -6
  105. package/node_modules/@types/is-stream/node_modules/@types/node/process.d.ts +25 -3
  106. package/node_modules/@types/is-stream/node_modules/@types/node/querystring.d.ts +3 -3
  107. package/node_modules/@types/is-stream/node_modules/@types/node/stream/web.d.ts +17 -1
  108. package/node_modules/@types/is-stream/node_modules/@types/node/test.d.ts +98 -15
  109. package/node_modules/@types/is-stream/node_modules/@types/node/ts4.8/buffer.d.ts +1 -1
  110. package/node_modules/@types/is-stream/node_modules/@types/node/ts4.8/crypto.d.ts +29 -6
  111. package/node_modules/@types/is-stream/node_modules/@types/node/ts4.8/dgram.d.ts +10 -0
  112. package/node_modules/@types/is-stream/node_modules/@types/node/ts4.8/diagnostics_channel.d.ts +355 -1
  113. package/node_modules/@types/is-stream/node_modules/@types/node/ts4.8/http.d.ts +6 -7
  114. package/node_modules/@types/is-stream/node_modules/@types/node/ts4.8/module.d.ts +14 -0
  115. package/node_modules/@types/is-stream/node_modules/@types/node/ts4.8/perf_hooks.d.ts +13 -7
  116. package/node_modules/@types/is-stream/node_modules/@types/node/ts4.8/process.d.ts +25 -3
  117. package/node_modules/@types/is-stream/node_modules/@types/node/ts4.8/querystring.d.ts +3 -3
  118. package/node_modules/@types/is-stream/node_modules/@types/node/ts4.8/stream/web.d.ts +17 -1
  119. package/node_modules/@types/is-stream/node_modules/@types/node/ts4.8/test.d.ts +98 -15
  120. package/node_modules/@types/is-stream/node_modules/@types/node/ts4.8/wasi.d.ts +9 -5
  121. package/node_modules/@types/is-stream/node_modules/@types/node/wasi.d.ts +9 -5
  122. package/node_modules/@types/keyv/node_modules/@types/node/README.md +1 -1
  123. package/node_modules/@types/keyv/node_modules/@types/node/buffer.d.ts +1 -1
  124. package/node_modules/@types/keyv/node_modules/@types/node/crypto.d.ts +29 -6
  125. package/node_modules/@types/keyv/node_modules/@types/node/dgram.d.ts +10 -0
  126. package/node_modules/@types/keyv/node_modules/@types/node/diagnostics_channel.d.ts +355 -1
  127. package/node_modules/@types/keyv/node_modules/@types/node/http.d.ts +6 -7
  128. package/node_modules/@types/keyv/node_modules/@types/node/module.d.ts +14 -0
  129. package/node_modules/@types/keyv/node_modules/@types/node/package.json +2 -2
  130. package/node_modules/@types/keyv/node_modules/@types/node/perf_hooks.d.ts +12 -6
  131. package/node_modules/@types/keyv/node_modules/@types/node/process.d.ts +25 -3
  132. package/node_modules/@types/keyv/node_modules/@types/node/querystring.d.ts +3 -3
  133. package/node_modules/@types/keyv/node_modules/@types/node/stream/web.d.ts +17 -1
  134. package/node_modules/@types/keyv/node_modules/@types/node/test.d.ts +98 -15
  135. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/buffer.d.ts +1 -1
  136. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/crypto.d.ts +29 -6
  137. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/dgram.d.ts +10 -0
  138. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/diagnostics_channel.d.ts +355 -1
  139. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/http.d.ts +6 -7
  140. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/module.d.ts +14 -0
  141. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/perf_hooks.d.ts +13 -7
  142. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/process.d.ts +25 -3
  143. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/querystring.d.ts +3 -3
  144. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/stream/web.d.ts +17 -1
  145. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/test.d.ts +98 -15
  146. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/wasi.d.ts +9 -5
  147. package/node_modules/@types/keyv/node_modules/@types/node/wasi.d.ts +9 -5
  148. package/node_modules/@types/responselike/node_modules/@types/node/README.md +1 -1
  149. package/node_modules/@types/responselike/node_modules/@types/node/buffer.d.ts +1 -1
  150. package/node_modules/@types/responselike/node_modules/@types/node/crypto.d.ts +29 -6
  151. package/node_modules/@types/responselike/node_modules/@types/node/dgram.d.ts +10 -0
  152. package/node_modules/@types/responselike/node_modules/@types/node/diagnostics_channel.d.ts +355 -1
  153. package/node_modules/@types/responselike/node_modules/@types/node/http.d.ts +6 -7
  154. package/node_modules/@types/responselike/node_modules/@types/node/module.d.ts +14 -0
  155. package/node_modules/@types/responselike/node_modules/@types/node/package.json +2 -2
  156. package/node_modules/@types/responselike/node_modules/@types/node/perf_hooks.d.ts +12 -6
  157. package/node_modules/@types/responselike/node_modules/@types/node/process.d.ts +25 -3
  158. package/node_modules/@types/responselike/node_modules/@types/node/querystring.d.ts +3 -3
  159. package/node_modules/@types/responselike/node_modules/@types/node/stream/web.d.ts +17 -1
  160. package/node_modules/@types/responselike/node_modules/@types/node/test.d.ts +98 -15
  161. package/node_modules/@types/responselike/node_modules/@types/node/ts4.8/buffer.d.ts +1 -1
  162. package/node_modules/@types/responselike/node_modules/@types/node/ts4.8/crypto.d.ts +29 -6
  163. package/node_modules/@types/responselike/node_modules/@types/node/ts4.8/dgram.d.ts +10 -0
  164. package/node_modules/@types/responselike/node_modules/@types/node/ts4.8/diagnostics_channel.d.ts +355 -1
  165. package/node_modules/@types/responselike/node_modules/@types/node/ts4.8/http.d.ts +6 -7
  166. package/node_modules/@types/responselike/node_modules/@types/node/ts4.8/module.d.ts +14 -0
  167. package/node_modules/@types/responselike/node_modules/@types/node/ts4.8/perf_hooks.d.ts +13 -7
  168. package/node_modules/@types/responselike/node_modules/@types/node/ts4.8/process.d.ts +25 -3
  169. package/node_modules/@types/responselike/node_modules/@types/node/ts4.8/querystring.d.ts +3 -3
  170. package/node_modules/@types/responselike/node_modules/@types/node/ts4.8/stream/web.d.ts +17 -1
  171. package/node_modules/@types/responselike/node_modules/@types/node/ts4.8/test.d.ts +98 -15
  172. package/node_modules/@types/responselike/node_modules/@types/node/ts4.8/wasi.d.ts +9 -5
  173. package/node_modules/@types/responselike/node_modules/@types/node/wasi.d.ts +9 -5
  174. package/node_modules/axios/CHANGELOG.md +27 -0
  175. package/node_modules/axios/README.md +37 -4
  176. package/node_modules/axios/dist/axios.js +3 -2
  177. package/node_modules/axios/dist/axios.js.map +1 -1
  178. package/node_modules/axios/dist/axios.min.js +1 -1
  179. package/node_modules/axios/dist/axios.min.js.map +1 -1
  180. package/node_modules/axios/dist/browser/axios.cjs +5 -2
  181. package/node_modules/axios/dist/browser/axios.cjs.map +1 -1
  182. package/node_modules/axios/dist/esm/axios.js +5 -2
  183. package/node_modules/axios/dist/esm/axios.js.map +1 -1
  184. package/node_modules/axios/dist/esm/axios.min.js +1 -1
  185. package/node_modules/axios/dist/esm/axios.min.js.map +1 -1
  186. package/node_modules/axios/dist/node/axios.cjs +9 -2
  187. package/node_modules/axios/dist/node/axios.cjs.map +1 -1
  188. package/node_modules/axios/lib/adapters/http.js +4 -0
  189. package/node_modules/axios/lib/env/data.js +1 -1
  190. package/node_modules/axios/lib/helpers/formDataToJSON.js +3 -0
  191. package/node_modules/axios/package.json +2 -2
  192. package/node_modules/follow-redirects/index.js +114 -75
  193. package/node_modules/follow-redirects/package.json +1 -1
  194. package/package.json +20 -20
  195. package/.gitattributes +0 -36
@@ -171,6 +171,10 @@ export default isHttpAdapterSupported && function httpAdapter(config) {
171
171
  // hotfix to support opt.all option which is required for node 20.x
172
172
  lookup = (hostname, opt, cb) => {
173
173
  _lookup(hostname, opt, (err, arg0, arg1) => {
174
+ if (err) {
175
+ return cb(err);
176
+ }
177
+
174
178
  const addresses = utils.isArray(arg0) ? arg0.map(addr => buildAddressEntry(addr)) : [buildAddressEntry(arg0, arg1)];
175
179
 
176
180
  opt.all ? cb(err, addresses) : cb(err, addresses[0].address, addresses[0].family);
@@ -1 +1 @@
1
- export const VERSION = "1.6.3";
1
+ export const VERSION = "1.6.5";
@@ -49,6 +49,9 @@ function arrayToObject(arr) {
49
49
  function formDataToJSON(formData) {
50
50
  function buildPath(path, value, target, index) {
51
51
  let name = path[index++];
52
+
53
+ if (name === '__proto__') return true;
54
+
52
55
  const isNumericKey = Number.isFinite(+name);
53
56
  const isLast = index >= path.length;
54
57
  name = !name && utils.isArray(target) ? target.length : name;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "axios",
3
- "version": "1.6.3",
3
+ "version": "1.6.5",
4
4
  "description": "Promise based HTTP client for the browser and node.js",
5
5
  "main": "index.js",
6
6
  "exports": {
@@ -146,7 +146,7 @@
146
146
  "unpkg": "dist/axios.min.js",
147
147
  "typings": "./index.d.ts",
148
148
  "dependencies": {
149
- "follow-redirects": "^1.15.0",
149
+ "follow-redirects": "^1.15.4",
150
150
  "form-data": "^4.0.0",
151
151
  "proxy-from-env": "^1.1.0"
152
152
  },
@@ -6,6 +6,30 @@ var Writable = require("stream").Writable;
6
6
  var assert = require("assert");
7
7
  var debug = require("./debug");
8
8
 
9
+ // Whether to use the native URL object or the legacy url module
10
+ var useNativeURL = false;
11
+ try {
12
+ assert(new URL());
13
+ }
14
+ catch (error) {
15
+ useNativeURL = error.code === "ERR_INVALID_URL";
16
+ }
17
+
18
+ // URL fields to preserve in copy operations
19
+ var preservedUrlFields = [
20
+ "auth",
21
+ "host",
22
+ "hostname",
23
+ "href",
24
+ "path",
25
+ "pathname",
26
+ "port",
27
+ "protocol",
28
+ "query",
29
+ "search",
30
+ "hash",
31
+ ];
32
+
9
33
  // Create handlers that pass events from native requests
10
34
  var events = ["abort", "aborted", "connect", "error", "socket", "timeout"];
11
35
  var eventHandlers = Object.create(null);
@@ -15,19 +39,20 @@ events.forEach(function (event) {
15
39
  };
16
40
  });
17
41
 
42
+ // Error types with codes
18
43
  var InvalidUrlError = createErrorType(
19
44
  "ERR_INVALID_URL",
20
45
  "Invalid URL",
21
46
  TypeError
22
47
  );
23
- // Error types with codes
24
48
  var RedirectionError = createErrorType(
25
49
  "ERR_FR_REDIRECTION_FAILURE",
26
50
  "Redirected request failed"
27
51
  );
28
52
  var TooManyRedirectsError = createErrorType(
29
53
  "ERR_FR_TOO_MANY_REDIRECTS",
30
- "Maximum number of redirects exceeded"
54
+ "Maximum number of redirects exceeded",
55
+ RedirectionError
31
56
  );
32
57
  var MaxBodyLengthExceededError = createErrorType(
33
58
  "ERR_FR_MAX_BODY_LENGTH_EXCEEDED",
@@ -62,7 +87,13 @@ function RedirectableRequest(options, responseCallback) {
62
87
  // React to responses of native requests
63
88
  var self = this;
64
89
  this._onNativeResponse = function (response) {
65
- self._processResponse(response);
90
+ try {
91
+ self._processResponse(response);
92
+ }
93
+ catch (cause) {
94
+ self.emit("error", cause instanceof RedirectionError ?
95
+ cause : new RedirectionError({ cause: cause }));
96
+ }
66
97
  };
67
98
 
68
99
  // Perform the first request
@@ -280,8 +311,7 @@ RedirectableRequest.prototype._performRequest = function () {
280
311
  var protocol = this._options.protocol;
281
312
  var nativeProtocol = this._options.nativeProtocols[protocol];
282
313
  if (!nativeProtocol) {
283
- this.emit("error", new TypeError("Unsupported protocol " + protocol));
284
- return;
314
+ throw new TypeError("Unsupported protocol " + protocol);
285
315
  }
286
316
 
287
317
  // If specified, use the agent corresponding to the protocol
@@ -380,8 +410,7 @@ RedirectableRequest.prototype._processResponse = function (response) {
380
410
  // RFC7231§6.4: A client SHOULD detect and intervene
381
411
  // in cyclical redirections (i.e., "infinite" redirection loops).
382
412
  if (++this._redirectCount > this._options.maxRedirects) {
383
- this.emit("error", new TooManyRedirectsError());
384
- return;
413
+ throw new TooManyRedirectsError();
385
414
  }
386
415
 
387
416
  // Store the request headers if applicable
@@ -415,33 +444,23 @@ RedirectableRequest.prototype._processResponse = function (response) {
415
444
  var currentHostHeader = removeMatchingHeaders(/^host$/i, this._options.headers);
416
445
 
417
446
  // If the redirect is relative, carry over the host of the last request
418
- var currentUrlParts = url.parse(this._currentUrl);
447
+ var currentUrlParts = parseUrl(this._currentUrl);
419
448
  var currentHost = currentHostHeader || currentUrlParts.host;
420
449
  var currentUrl = /^\w+:/.test(location) ? this._currentUrl :
421
450
  url.format(Object.assign(currentUrlParts, { host: currentHost }));
422
451
 
423
- // Determine the URL of the redirection
424
- var redirectUrl;
425
- try {
426
- redirectUrl = url.resolve(currentUrl, location);
427
- }
428
- catch (cause) {
429
- this.emit("error", new RedirectionError({ cause: cause }));
430
- return;
431
- }
432
-
433
452
  // Create the redirected request
434
- debug("redirecting to", redirectUrl);
453
+ var redirectUrl = resolveUrl(location, currentUrl);
454
+ debug("redirecting to", redirectUrl.href);
435
455
  this._isRedirect = true;
436
- var redirectUrlParts = url.parse(redirectUrl);
437
- Object.assign(this._options, redirectUrlParts);
456
+ spreadUrlObject(redirectUrl, this._options);
438
457
 
439
458
  // Drop confidential headers when redirecting to a less secure protocol
440
459
  // or to a different domain that is not a superdomain
441
- if (redirectUrlParts.protocol !== currentUrlParts.protocol &&
442
- redirectUrlParts.protocol !== "https:" ||
443
- redirectUrlParts.host !== currentHost &&
444
- !isSubdomain(redirectUrlParts.host, currentHost)) {
460
+ if (redirectUrl.protocol !== currentUrlParts.protocol &&
461
+ redirectUrl.protocol !== "https:" ||
462
+ redirectUrl.host !== currentHost &&
463
+ !isSubdomain(redirectUrl.host, currentHost)) {
445
464
  removeMatchingHeaders(/^(?:authorization|cookie)$/i, this._options.headers);
446
465
  }
447
466
 
@@ -456,23 +475,12 @@ RedirectableRequest.prototype._processResponse = function (response) {
456
475
  method: method,
457
476
  headers: requestHeaders,
458
477
  };
459
- try {
460
- beforeRedirect(this._options, responseDetails, requestDetails);
461
- }
462
- catch (err) {
463
- this.emit("error", err);
464
- return;
465
- }
478
+ beforeRedirect(this._options, responseDetails, requestDetails);
466
479
  this._sanitizeOptions(this._options);
467
480
  }
468
481
 
469
482
  // Perform the redirected request
470
- try {
471
- this._performRequest();
472
- }
473
- catch (cause) {
474
- this.emit("error", new RedirectionError({ cause: cause }));
475
- }
483
+ this._performRequest();
476
484
  };
477
485
 
478
486
  // Wraps the key/value object of protocols with redirect functionality
@@ -492,27 +500,16 @@ function wrap(protocols) {
492
500
 
493
501
  // Executes a request, following redirects
494
502
  function request(input, options, callback) {
495
- // Parse parameters
496
- if (isString(input)) {
497
- var parsed;
498
- try {
499
- parsed = urlToOptions(new URL(input));
500
- }
501
- catch (err) {
502
- /* istanbul ignore next */
503
- parsed = url.parse(input);
504
- }
505
- if (!isString(parsed.protocol)) {
506
- throw new InvalidUrlError({ input });
507
- }
508
- input = parsed;
503
+ // Parse parameters, ensuring that input is an object
504
+ if (isURL(input)) {
505
+ input = spreadUrlObject(input);
509
506
  }
510
- else if (URL && (input instanceof URL)) {
511
- input = urlToOptions(input);
507
+ else if (isString(input)) {
508
+ input = spreadUrlObject(parseUrl(input));
512
509
  }
513
510
  else {
514
511
  callback = options;
515
- options = input;
512
+ options = validateUrl(input);
516
513
  input = { protocol: protocol };
517
514
  }
518
515
  if (isFunction(options)) {
@@ -551,27 +548,57 @@ function wrap(protocols) {
551
548
  return exports;
552
549
  }
553
550
 
554
- /* istanbul ignore next */
555
551
  function noop() { /* empty */ }
556
552
 
557
- // from https://github.com/nodejs/node/blob/master/lib/internal/url.js
558
- function urlToOptions(urlObject) {
559
- var options = {
560
- protocol: urlObject.protocol,
561
- hostname: urlObject.hostname.startsWith("[") ?
562
- /* istanbul ignore next */
563
- urlObject.hostname.slice(1, -1) :
564
- urlObject.hostname,
565
- hash: urlObject.hash,
566
- search: urlObject.search,
567
- pathname: urlObject.pathname,
568
- path: urlObject.pathname + urlObject.search,
569
- href: urlObject.href,
570
- };
571
- if (urlObject.port !== "") {
572
- options.port = Number(urlObject.port);
553
+ function parseUrl(input) {
554
+ var parsed;
555
+ /* istanbul ignore else */
556
+ if (useNativeURL) {
557
+ parsed = new URL(input);
558
+ }
559
+ else {
560
+ // Ensure the URL is valid and absolute
561
+ parsed = validateUrl(url.parse(input));
562
+ if (!isString(parsed.protocol)) {
563
+ throw new InvalidUrlError({ input });
564
+ }
565
+ }
566
+ return parsed;
567
+ }
568
+
569
+ function resolveUrl(relative, base) {
570
+ /* istanbul ignore next */
571
+ return useNativeURL ? new URL(relative, base) : parseUrl(url.resolve(base, relative));
572
+ }
573
+
574
+ function validateUrl(input) {
575
+ if (/^\[/.test(input.hostname) && !/^\[[:0-9a-f]+\]$/i.test(input.hostname)) {
576
+ throw new InvalidUrlError({ input: input.href || input });
573
577
  }
574
- return options;
578
+ if (/^\[/.test(input.host) && !/^\[[:0-9a-f]+\](:\d+)?$/i.test(input.host)) {
579
+ throw new InvalidUrlError({ input: input.href || input });
580
+ }
581
+ return input;
582
+ }
583
+
584
+ function spreadUrlObject(urlObject, target) {
585
+ var spread = target || {};
586
+ for (var key of preservedUrlFields) {
587
+ spread[key] = urlObject[key];
588
+ }
589
+
590
+ // Fix IPv6 hostname
591
+ if (spread.hostname.startsWith("[")) {
592
+ spread.hostname = spread.hostname.slice(1, -1);
593
+ }
594
+ // Ensure port is a number
595
+ if (spread.port !== "") {
596
+ spread.port = Number(spread.port);
597
+ }
598
+ // Concatenate path
599
+ spread.path = spread.search ? spread.pathname + spread.search : spread.pathname;
600
+
601
+ return spread;
575
602
  }
576
603
 
577
604
  function removeMatchingHeaders(regex, headers) {
@@ -597,8 +624,16 @@ function createErrorType(code, message, baseClass) {
597
624
 
598
625
  // Attach constructor and set default properties
599
626
  CustomError.prototype = new (baseClass || Error)();
600
- CustomError.prototype.constructor = CustomError;
601
- CustomError.prototype.name = "Error [" + code + "]";
627
+ Object.defineProperties(CustomError.prototype, {
628
+ constructor: {
629
+ value: CustomError,
630
+ enumerable: false,
631
+ },
632
+ name: {
633
+ value: "Error [" + code + "]",
634
+ enumerable: false,
635
+ },
636
+ });
602
637
  return CustomError;
603
638
  }
604
639
 
@@ -628,6 +663,10 @@ function isBuffer(value) {
628
663
  return typeof value === "object" && ("length" in value);
629
664
  }
630
665
 
666
+ function isURL(value) {
667
+ return URL && value instanceof URL;
668
+ }
669
+
631
670
  // Exports
632
671
  module.exports = wrap({ http: http, https: https });
633
672
  module.exports.wrap = wrap;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "follow-redirects",
3
- "version": "1.15.3",
3
+ "version": "1.15.5",
4
4
  "description": "HTTP and HTTPS modules that follow redirects.",
5
5
  "license": "MIT",
6
6
  "main": "index.js",
package/package.json CHANGED
@@ -90,18 +90,18 @@
90
90
  "devDependencies": {
91
91
  "@aws-cdk/aws-apigatewayv2-alpha": "2.1.0-alpha.0",
92
92
  "@aws-cdk/aws-apigatewayv2-integrations-alpha": "2.1.0-alpha.0",
93
- "@aws-sdk/client-cloudformation": "^3.481.0",
94
- "@aws-sdk/client-dynamodb": "^3.481.0",
95
- "@aws-sdk/client-ecr": "^3.481.0",
96
- "@aws-sdk/client-ecs": "^3.481.0",
97
- "@aws-sdk/client-eventbridge": "^3.481.0",
98
- "@aws-sdk/client-iam": "^3.481.0",
99
- "@aws-sdk/client-s3": "^3.481.0",
100
- "@aws-sdk/client-secrets-manager": "^3.481.0",
101
- "@aws-sdk/client-sfn": "^3.481.0",
102
- "@aws-sdk/client-textract": "^3.481.0",
103
- "@aws-sdk/lib-dynamodb": "^3.481.0",
104
- "@types/aws-lambda": "^8.10.130",
93
+ "@aws-sdk/client-cloudformation": "^3.490.0",
94
+ "@aws-sdk/client-dynamodb": "^3.494.0",
95
+ "@aws-sdk/client-ecr": "^3.490.0",
96
+ "@aws-sdk/client-ecs": "^3.490.0",
97
+ "@aws-sdk/client-eventbridge": "^3.490.0",
98
+ "@aws-sdk/client-iam": "^3.490.0",
99
+ "@aws-sdk/client-s3": "^3.490.0",
100
+ "@aws-sdk/client-secrets-manager": "^3.491.0",
101
+ "@aws-sdk/client-sfn": "^3.490.0",
102
+ "@aws-sdk/client-textract": "^3.490.0",
103
+ "@aws-sdk/lib-dynamodb": "^3.494.0",
104
+ "@types/aws-lambda": "^8.10.131",
105
105
  "@types/jest": "^29",
106
106
  "@types/node": "^18",
107
107
  "@types/tsscmp": "^1.0.2",
@@ -112,23 +112,23 @@
112
112
  "aws-sdk-client-mock": "^2.2.0",
113
113
  "aws-sdk-client-mock-jest": "^2.2.0",
114
114
  "constructs": "10.0.5",
115
- "esbuild": "^0.19.10",
115
+ "esbuild": "^0.19.11",
116
116
  "eslint": "^8",
117
117
  "eslint-import-resolver-typescript": "^3.6.1",
118
118
  "eslint-plugin-import": "^2.29.1",
119
119
  "jest": "^29",
120
120
  "jest-junit": "^15",
121
121
  "jsii": "5.x",
122
- "jsii-diff": "^1.93.0",
122
+ "jsii-diff": "^1.94.0",
123
123
  "jsii-docgen": "^9.2.2",
124
- "jsii-pacmak": "^1.93.0",
124
+ "jsii-pacmak": "^1.94.0",
125
125
  "jsii-rosetta": "5.x",
126
- "nock": "^13.4.0",
127
- "projen": "^0.78.4",
126
+ "nock": "^13.5.0",
127
+ "projen": "^0.79.1",
128
128
  "standard-version": "^9",
129
129
  "ts-jest": "^29",
130
130
  "ts-node": "^10.9.2",
131
- "typescript": "^5.2.2"
131
+ "typescript": "^5.3.3"
132
132
  },
133
133
  "peerDependencies": {
134
134
  "@aws-cdk/aws-apigatewayv2-alpha": "^2.1.0-alpha.0",
@@ -137,7 +137,7 @@
137
137
  "constructs": "^10.0.5"
138
138
  },
139
139
  "dependencies": {
140
- "@slack/web-api": "^6.11.0",
140
+ "@slack/web-api": "^6.11.2",
141
141
  "got": "^11.8.6"
142
142
  },
143
143
  "bundledDependencies": [
@@ -149,7 +149,7 @@
149
149
  ],
150
150
  "main": "lib/index.js",
151
151
  "license": "Apache-2.0",
152
- "version": "0.6.47",
152
+ "version": "0.6.49",
153
153
  "jest": {
154
154
  "testMatch": [
155
155
  "<rootDir>/src/**/__tests__/**/*.ts?(x)",
package/.gitattributes DELETED
@@ -1,36 +0,0 @@
1
- # ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
2
-
3
- *.snap linguist-generated
4
- /.eslintrc.json linguist-generated
5
- /.gitattributes linguist-generated
6
- /.github/pull_request_template.md linguist-generated
7
- /.github/workflows/build.yml linguist-generated
8
- /.github/workflows/pull-request-lint.yml linguist-generated
9
- /.github/workflows/release.yml linguist-generated
10
- /.github/workflows/upgrade-master.yml linguist-generated
11
- /.gitignore linguist-generated
12
- /.mergify.yml linguist-generated
13
- /.npmignore linguist-generated
14
- /.projen/** linguist-generated
15
- /.projen/deps.json linguist-generated
16
- /.projen/files.json linguist-generated
17
- /.projen/tasks.json linguist-generated
18
- /API.md linguist-generated
19
- /LICENSE linguist-generated
20
- /package.json linguist-generated
21
- /src/email-receiver/s3-function.ts linguist-generated
22
- /src/email-receiver/whitelist-function.ts linguist-generated
23
- /src/slack-app/provider-function.ts linguist-generated
24
- /src/slack-events/events-function.ts linguist-generated
25
- /src/slack-textract/detect-function.ts linguist-generated
26
- /src/ssl-server-test/analyze-function.ts linguist-generated
27
- /src/ssl-server-test/extract-grade-function.ts linguist-generated
28
- /src/static-website/origin-request-function.ts linguist-generated
29
- /src/toolkit-cleaner/clean-images-function.ts linguist-generated
30
- /src/toolkit-cleaner/clean-objects-function.ts linguist-generated
31
- /src/toolkit-cleaner/extract-template-hashes-function.ts linguist-generated
32
- /src/toolkit-cleaner/get-stack-names-function.ts linguist-generated
33
- /src/url-shortener/redirect-function.ts linguist-generated
34
- /src/url-shortener/shortener-function.ts linguist-generated
35
- /tsconfig.dev.json linguist-generated
36
- /yarn.lock linguist-generated