Skip to content

Commit 7868535

Browse files
authored
Merge pull request #10610 from neinteractiveliterature/forwardemail-bug-fixes
Forwardemail bug fixes
2 parents 45c2c96 + 09df64b commit 7868535

1 file changed

Lines changed: 1 addition & 53 deletions

File tree

app/services/sync_forward_email_service.rb

Lines changed: 1 addition & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -107,62 +107,10 @@ def paginate_request(path)
107107
Rack::Utils.build_query(
108108
Rack::Utils.parse_query(uri.query).merge("page" => response.headers["X-Page-Current"].to_i + 1)
109109
)
110-
response = @connection.get("#{path}&page=#{response.headers["X-Page-Current"] + 1}")
110+
response = @connection.get("#{path}&page=#{response.headers["X-Page-Current"].to_i + 1}")
111111
results += response.body
112112
end
113113

114114
results
115115
end
116-
117-
def forwardemail_instructions
118-
mappings_by_domain.transform_values do |mappings|
119-
instructions =
120-
mappings.flat_map do |mapping|
121-
if mapping.catch_all?
122-
mapping.destination_addresses
123-
else
124-
mapping.destination_addresses.flat_map { |addr| "#{mapping.inbound_local}:#{addr}" }
125-
end
126-
end
127-
128-
instructions.compact.sort.uniq
129-
end
130-
end
131-
132-
def forwardemail_txt_records_plaintext
133-
forwardemail_instructions.transform_values do |instructions|
134-
instructions
135-
.each_with_object([]) do |instruction, acc|
136-
if acc.empty?
137-
acc << instruction
138-
else
139-
last_record = acc.last
140-
# We want to stay under 256 characters for the TXT record, and encryption seems to about double the size
141-
if last_record.length + instruction.length + "forward-email=".length < 100
142-
acc[-1] = "#{last_record},#{instruction}"
143-
else
144-
acc << instruction
145-
end
146-
end
147-
end
148-
.map { |record| "forward-email=#{record}" }
149-
end
150-
end
151-
152-
def encrypt_forwardemail_txt_record(record)
153-
Net::HTTP.start("api.forwardemail.net", 443, use_ssl: true) do |http|
154-
request = Net::HTTP::Post.new("/v1/encrypt")
155-
request.set_form_data(input: record)
156-
response = http.request(request)
157-
return nil unless response.is_a?(Net::HTTPSuccess)
158-
159-
response.body
160-
end
161-
end
162-
163-
def forwardemail_txt_records_encrypted
164-
forwardemail_txt_records_plaintext.transform_values do |records|
165-
records.map { |record| encrypt_forwardemail_txt_record(record) }
166-
end
167-
end
168116
end

0 commit comments

Comments
 (0)