@@ -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
168116end
0 commit comments