jets 4.0.2 → 4.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +3 -0
- data/lib/jets/controller/middleware/local/api_gateway.rb +13 -1
- data/lib/jets/controller/rack/env.rb +9 -3
- data/lib/jets/mega/hash_converter.rb +2 -2
- data/lib/jets/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2656b9ad4b3542399efbba9eadb992532d2ebed430315280d3e1524a376b3674
|
4
|
+
data.tar.gz: bcd37a34c13c7027b99854129cf537369dd357ba39edc7481416315d20137602
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4b16ac3cc3899c989c2de4670fbc6be7c2f9dc07b39869404ebbbc0689f458fc4befc699ccff3c14001946716288792077a006c97f9541f842040fa656e10a4b
|
7
|
+
data.tar.gz: d6f6f26ea83268b6ca877cfe8f49660e15b0e6709cfb7e498bbdf9b87cccf81b4c7cd86f2e707dd4ba0adbed0a8e70ccf0bd06cef80b15fb60e5b689b739dcbf
|
data/CHANGELOG.md
CHANGED
@@ -3,6 +3,9 @@
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
4
4
|
This project *loosely tries* to adhere to [Semantic Versioning](http://semver.org/).
|
5
5
|
|
6
|
+
## [4.0.3] - 2023-08-03
|
7
|
+
- [#657](https://github.com/boltops-tools/jets/pull/657) [Fix] ApiGateway for local Middleware: fix query_string_parameters
|
8
|
+
|
6
9
|
## [4.0.2] - 2023-08-03
|
7
10
|
- [#660](https://github.com/boltops-tools/jets/pull/660) Fix prewarming
|
8
11
|
|
@@ -16,6 +16,7 @@ class Jets::Controller::Middleware::Local
|
|
16
16
|
"httpMethod" => @env['REQUEST_METHOD'], # GET
|
17
17
|
"headers" => request_headers,
|
18
18
|
"queryStringParameters" => query_string_parameters,
|
19
|
+
"multiValueQueryStringParameters" => multi_value_query_string_parameters,
|
19
20
|
"pathParameters" => @route.extract_parameters(path),
|
20
21
|
"stageVariables" => nil,
|
21
22
|
"requestContext" => {},
|
@@ -77,7 +78,18 @@ class Jets::Controller::Middleware::Local
|
|
77
78
|
end
|
78
79
|
|
79
80
|
def query_string_parameters
|
80
|
-
|
81
|
+
@env['QUERY_STRING']&.split('&')&.each_with_object({}) do |parameter, hash|
|
82
|
+
key, value = parameter.split('=')
|
83
|
+
hash[key] = value
|
84
|
+
end || {}
|
85
|
+
end
|
86
|
+
|
87
|
+
def multi_value_query_string_parameters
|
88
|
+
@env['QUERY_STRING']&.split('&')&.each_with_object({}) do |parameter, hash|
|
89
|
+
key, value = parameter.split('=')
|
90
|
+
hash[key] = [] if hash[key].nil?
|
91
|
+
hash[key] << value
|
92
|
+
end || {}
|
81
93
|
end
|
82
94
|
|
83
95
|
# To get the post body:
|
@@ -112,9 +112,15 @@ module Jets::Controller::Rack
|
|
112
112
|
end
|
113
113
|
|
114
114
|
def query_string
|
115
|
-
qs_params = @event["
|
116
|
-
|
117
|
-
|
115
|
+
qs_params = @event["multiValueQueryStringParameters"] || {} # always set with API Gateway but when testing node shim might not be
|
116
|
+
|
117
|
+
array = qs_params.each_with_object([]) do |(key, value), arr|
|
118
|
+
arr << value.map do |v|
|
119
|
+
v.to_query(key)
|
120
|
+
end
|
121
|
+
end
|
122
|
+
|
123
|
+
array.join("&")
|
118
124
|
end
|
119
125
|
|
120
126
|
def headers
|
@@ -7,7 +7,7 @@ module Jets::Mega
|
|
7
7
|
value.each { |k,v| encode(v, append_key(key,k), out_hash) }
|
8
8
|
out_hash
|
9
9
|
when Array then
|
10
|
-
value.each { |v| encode(v, "#{key}
|
10
|
+
value.each { |v| encode(v, "#{key}", out_hash) }
|
11
11
|
out_hash
|
12
12
|
when nil then ''
|
13
13
|
else
|
@@ -22,4 +22,4 @@ module Jets::Mega
|
|
22
22
|
root_key.nil? ? :"#{key}" : :"#{root_key}[#{key.to_s}]"
|
23
23
|
end
|
24
24
|
end
|
25
|
-
end
|
25
|
+
end
|
data/lib/jets/version.rb
CHANGED