aws-sdk-rails 3.7.0 → 3.8.0
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.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5157818d7cbed8369158102676415247809f388f88f255890c513705075193eb
|
4
|
+
data.tar.gz: 792018ac311693ce6afa82b8ae1c7547bf858a90959558f2547dcfc173cefdbe
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7c0821bb9dffd184a6f21c51bc6ed5a000dd1a1f5d0a435ccd5d36668f41d95f2be3e834482f20216b83edfac47d763c25d100386efcb87b9e8a64185b2644e9
|
7
|
+
data.tar.gz: be49eeaf3fa701769204a924dcfef6982360dc15387266a5d0e8ae8f8c1c44afb0b383669531799f8daabe2af65372ac37a7dbdf671ee9ba522ecd141a0f0ab8
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.
|
1
|
+
3.8.0
|
@@ -81,12 +81,30 @@ module Aws
|
|
81
81
|
end
|
82
82
|
|
83
83
|
def sent_from_docker_host?(request)
|
84
|
-
app_runs_in_docker_container? && request.ip
|
84
|
+
app_runs_in_docker_container? && default_gw_ips.include?(request.ip)
|
85
85
|
end
|
86
86
|
|
87
87
|
def app_runs_in_docker_container?
|
88
88
|
@app_runs_in_docker_container ||= `[ -f /proc/1/cgroup ] && cat /proc/1/cgroup` =~ /docker/
|
89
89
|
end
|
90
|
+
|
91
|
+
def default_gw_ips
|
92
|
+
default_gw_ips = ['172.17.0.1']
|
93
|
+
|
94
|
+
if File.exist?('/proc/net/route')
|
95
|
+
File.open('/proc/net/route').each_line do |line|
|
96
|
+
fields = line.strip.split
|
97
|
+
next if fields.size != 11
|
98
|
+
|
99
|
+
# Destination == 0.0.0.0 and Flags & RTF_GATEWAY != 0
|
100
|
+
if fields[1] == '00000000' && (fields[3].hex & 0x2) != 0
|
101
|
+
default_gw_ips << IPAddr.new_ntoh([fields[2].hex].pack('L')).to_s
|
102
|
+
end
|
103
|
+
end
|
104
|
+
end
|
105
|
+
|
106
|
+
default_gw_ips
|
107
|
+
end
|
90
108
|
end
|
91
109
|
end
|
92
110
|
end
|
data/lib/aws/rails/ses_mailer.rb
CHANGED
@@ -20,6 +20,7 @@ module Aws
|
|
20
20
|
# [Aws::SES::Client.new](https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/SES/Client.html#initialize-instance_method).
|
21
21
|
def initialize(options = {})
|
22
22
|
@client = SES::Client.new(options)
|
23
|
+
@client.config.user_agent_frameworks << 'aws-sdk-rails'
|
23
24
|
end
|
24
25
|
|
25
26
|
# Rails expects this method to exist, and to handle a Mail::Message object
|
@@ -20,17 +20,23 @@ module Aws
|
|
20
20
|
# [Aws::SESV2::Client.new](https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/SESV2/Client.html#initialize-instance_method).
|
21
21
|
def initialize(options = {})
|
22
22
|
@client = SESV2::Client.new(options)
|
23
|
+
@client.config.user_agent_frameworks << 'aws-sdk-rails'
|
23
24
|
end
|
24
25
|
|
25
26
|
# Rails expects this method to exist, and to handle a Mail::Message object
|
26
27
|
# correctly. Called during mail delivery.
|
27
28
|
def deliver!(message)
|
28
|
-
params = {
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
29
|
+
params = { content: { raw: { data: message.to_s } } }
|
30
|
+
# smtp_envelope_from will default to the From address *without* sender names.
|
31
|
+
# By omitting this param, SESv2 will correctly use sender names from the mail headers.
|
32
|
+
# We should only use smtp_envelope_from when it was explicitly set (instance variable set)
|
33
|
+
params[:from_email_address] = message.smtp_envelope_from if message.instance_variable_get(:@smtp_envelope_from)
|
34
|
+
params[:destination] = {
|
35
|
+
to_addresses: to_addresses(message),
|
36
|
+
cc_addresses: message.cc,
|
37
|
+
bcc_addresses: message.bcc
|
33
38
|
}
|
39
|
+
|
34
40
|
@client.send_email(params).tap do |response|
|
35
41
|
message.header[:ses_message_id] = response.message_id
|
36
42
|
end
|
@@ -40,6 +46,15 @@ module Aws
|
|
40
46
|
def settings
|
41
47
|
{}
|
42
48
|
end
|
49
|
+
|
50
|
+
private
|
51
|
+
|
52
|
+
# smtp_envelope_to will default to the full destinations (To, Cc, Bcc)
|
53
|
+
# SES v2 API prefers each component split out into a destination hash.
|
54
|
+
# When smtp_envelope_to was set, use it explicitly for to_address only.
|
55
|
+
def to_addresses(message)
|
56
|
+
message.instance_variable_get(:@smtp_envelope_to) ? message.smtp_envelope_to : message.to
|
57
|
+
end
|
43
58
|
end
|
44
59
|
end
|
45
60
|
end
|
@@ -92,7 +92,11 @@ module Aws
|
|
92
92
|
end
|
93
93
|
|
94
94
|
def client
|
95
|
-
@client ||=
|
95
|
+
@client ||= begin
|
96
|
+
client = Aws::SQS::Client.new
|
97
|
+
client.config.user_agent_frameworks << 'aws-sdk-rails'
|
98
|
+
client
|
99
|
+
end
|
96
100
|
end
|
97
101
|
|
98
102
|
# Return the queue_url for a given job_queue name
|
@@ -125,6 +129,7 @@ module Aws
|
|
125
129
|
def set_attributes(options)
|
126
130
|
options.keys.each do |opt_name|
|
127
131
|
instance_variable_set("@#{opt_name}", options[opt_name])
|
132
|
+
client.config.user_agent_frameworks << 'aws-sdk-rails' if opt_name == :client
|
128
133
|
end
|
129
134
|
end
|
130
135
|
|
@@ -154,10 +159,6 @@ module Aws
|
|
154
159
|
options[:config_file] || ENV["AWS_SQS_ACTIVE_JOB_CONFIG_FILE"]
|
155
160
|
end
|
156
161
|
|
157
|
-
def user_agent
|
158
|
-
"ft/aws-sdk-rails-activejob/#{Aws::Rails::VERSION}"
|
159
|
-
end
|
160
|
-
|
161
162
|
def load_yaml(file_path)
|
162
163
|
require "erb"
|
163
164
|
source = ERB.new(File.read(file_path)).result
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aws-sdk-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Amazon Web Services
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-06-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-record
|
@@ -31,6 +31,9 @@ dependencies:
|
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '1'
|
34
|
+
- - ">="
|
35
|
+
- !ruby/object:Gem::Version
|
36
|
+
version: 1.50.0
|
34
37
|
type: :runtime
|
35
38
|
prerelease: false
|
36
39
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -38,6 +41,9 @@ dependencies:
|
|
38
41
|
- - "~>"
|
39
42
|
- !ruby/object:Gem::Version
|
40
43
|
version: '1'
|
44
|
+
- - ">="
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: 1.50.0
|
41
47
|
- !ruby/object:Gem::Dependency
|
42
48
|
name: aws-sdk-sesv2
|
43
49
|
requirement: !ruby/object:Gem::Requirement
|
@@ -45,6 +51,9 @@ dependencies:
|
|
45
51
|
- - "~>"
|
46
52
|
- !ruby/object:Gem::Version
|
47
53
|
version: '1'
|
54
|
+
- - ">="
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: 1.34.0
|
48
57
|
type: :runtime
|
49
58
|
prerelease: false
|
50
59
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -52,6 +61,9 @@ dependencies:
|
|
52
61
|
- - "~>"
|
53
62
|
- !ruby/object:Gem::Version
|
54
63
|
version: '1'
|
64
|
+
- - ">="
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: 1.34.0
|
55
67
|
- !ruby/object:Gem::Dependency
|
56
68
|
name: aws-sdk-sqs
|
57
69
|
requirement: !ruby/object:Gem::Requirement
|
@@ -59,6 +71,9 @@ dependencies:
|
|
59
71
|
- - "~>"
|
60
72
|
- !ruby/object:Gem::Version
|
61
73
|
version: '1'
|
74
|
+
- - ">="
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: 1.56.0
|
62
77
|
type: :runtime
|
63
78
|
prerelease: false
|
64
79
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -66,6 +81,9 @@ dependencies:
|
|
66
81
|
- - "~>"
|
67
82
|
- !ruby/object:Gem::Version
|
68
83
|
version: '1'
|
84
|
+
- - ">="
|
85
|
+
- !ruby/object:Gem::Version
|
86
|
+
version: 1.56.0
|
69
87
|
- !ruby/object:Gem::Dependency
|
70
88
|
name: aws-sessionstore-dynamodb
|
71
89
|
requirement: !ruby/object:Gem::Requirement
|
@@ -179,7 +197,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
179
197
|
- !ruby/object:Gem::Version
|
180
198
|
version: '0'
|
181
199
|
requirements: []
|
182
|
-
rubygems_version: 3.
|
200
|
+
rubygems_version: 3.4.10
|
183
201
|
signing_key:
|
184
202
|
specification_version: 4
|
185
203
|
summary: AWS SDK for Ruby on Rails Plugin
|