jets 4.0.1 → 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 +6 -0
- data/README.md +0 -2
- data/lib/jets/commands/call.rb +3 -1
- 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/preheat.rb +5 -2
- data/lib/jets/version.rb +1 -1
- metadata +3 -3
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,12 @@
|
|
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
|
+
|
9
|
+
## [4.0.2] - 2023-08-03
|
10
|
+
- [#660](https://github.com/boltops-tools/jets/pull/660) Fix prewarming
|
11
|
+
|
6
12
|
## [4.0.1] - 2023-06-06
|
7
13
|
- [#655](https://github.com/boltops-tools/jets/pull/655) fix cors when using authorizers
|
8
14
|
- [#656](https://github.com/boltops-tools/jets/pull/656) fix prewarming iam permission
|
data/README.md
CHANGED
@@ -5,10 +5,8 @@
|
|
5
5
|
Ruby and Lambda had a baby and that child's name is [Jets](http://rubyonjets.com/).
|
6
6
|
|
7
7
|
![Build Status](https://codebuild.us-west-2.amazonaws.com/badges?uuid=eyJlbmNyeXB0ZWREYXRhIjoiZ08vK2hjOHczQUVoUDhSYnBNNUU4T0gxQWJuOTlLaXpwVGQ1NjJ3NnVDY1dSdFVXQ3d2VXVSQzRFcU1qd1JPMndFZlByRktIcTUrZm5GWlM5dHpjM1ZrPSIsIml2UGFyYW1ldGVyU3BlYyI6Imluc1Qrd25GanhUdHlidjUiLCJtYXRlcmlhbFNldFNlcmlhbCI6MX0%3D&branch=master)
|
8
|
-
[![CircleCI](https://circleci.com/gh/boltops-tools/jets.svg?style=svg)](https://circleci.com/gh/boltops-tools/jets)
|
9
8
|
[![Gem Version](https://badge.fury.io/rb/jets.svg)](https://badge.fury.io/rb/jets)
|
10
9
|
[![Support](https://img.shields.io/badge/Support-Help-blue.svg)](http://rubyonjets.com/support/)
|
11
|
-
[![Gitter Chat](https://badges.gitter.im/boltops-tools/jets.png)](https://gitter.im/boltops-tools/jets)
|
12
10
|
|
13
11
|
[![BoltOps Badge](https://img.boltops.com/boltops/badges/boltops-badge.png)](https://www.boltops.com)
|
14
12
|
|
data/lib/jets/commands/call.rb
CHANGED
@@ -17,7 +17,9 @@ class Jets::Commands::Call
|
|
17
17
|
end
|
18
18
|
|
19
19
|
def function_name
|
20
|
-
if @
|
20
|
+
if @provided_function_name.starts_with?(Jets.config.project_namespace)
|
21
|
+
@provided_function_name # fully qualified function name
|
22
|
+
elsif @guess
|
21
23
|
ensure_guesses_found! # possibly exits here
|
22
24
|
guesser.function_name # guesser adds namespace already
|
23
25
|
else
|
@@ -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/preheat.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
module Jets
|
2
2
|
class Preheat
|
3
3
|
extend Memoist
|
4
|
+
include Jets::AwsServices
|
4
5
|
|
5
6
|
# Examples:
|
6
7
|
#
|
@@ -101,7 +102,9 @@ module Jets
|
|
101
102
|
stack_resources.each do |stack_resource|
|
102
103
|
acc << stack_resource if stack_resource.logical_resource_id.ends_with?('LambdaFunction') # only functions
|
103
104
|
end
|
104
|
-
|
105
|
+
acc
|
106
|
+
end
|
107
|
+
resources.map(&:physical_resource_id) # function names
|
105
108
|
end
|
106
109
|
memoize :all_functions
|
107
110
|
|
@@ -117,4 +120,4 @@ module Jets
|
|
117
120
|
end.compact
|
118
121
|
end
|
119
122
|
end
|
120
|
-
end
|
123
|
+
end
|
data/lib/jets/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jets
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.0.
|
4
|
+
version: 4.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tung Nguyen
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-08-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: actionmailer
|
@@ -1101,7 +1101,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1101
1101
|
- !ruby/object:Gem::Version
|
1102
1102
|
version: '0'
|
1103
1103
|
requirements: []
|
1104
|
-
rubygems_version: 3.4.
|
1104
|
+
rubygems_version: 3.4.17
|
1105
1105
|
signing_key:
|
1106
1106
|
specification_version: 4
|
1107
1107
|
summary: Ruby Serverless Framework
|