aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGeorge Claghorn <george@basecamp.com>2018-11-25 21:35:27 -0500
committerGeorge Claghorn <george@basecamp.com>2018-11-25 21:53:22 -0500
commitdcea1b18dae59a371ef8ac32b4874f3daf748001 (patch)
tree202d24821ffc0db43fe729e1fe60c78227b418e1
parent5ae21598731a8a539c025d2c57576ab44148c3fb (diff)
downloadrails-dcea1b18dae59a371ef8ac32b4874f3daf748001.tar.gz
rails-dcea1b18dae59a371ef8ac32b4874f3daf748001.tar.bz2
rails-dcea1b18dae59a371ef8ac32b4874f3daf748001.zip
YAGNI user agent customization
-rw-r--r--lib/action_mailbox/postfix_relayer.rb15
-rw-r--r--lib/tasks/ingress.rake11
-rw-r--r--test/unit/postfix_relayer_test.rb3
3 files changed, 16 insertions, 13 deletions
diff --git a/lib/action_mailbox/postfix_relayer.rb b/lib/action_mailbox/postfix_relayer.rb
index ee18c8f6ba..268ca5661b 100644
--- a/lib/action_mailbox/postfix_relayer.rb
+++ b/lib/action_mailbox/postfix_relayer.rb
@@ -15,10 +15,13 @@ module ActionMailbox
end
end
- attr_reader :uri, :username, :password, :user_agent
+ CONTENT_TYPE = "message/rfc822"
+ USER_AGENT = "Action Mailbox Postfix relayer"
- def initialize(url:, username: "actionmailbox", password:, user_agent: nil)
- @uri, @username, @password, @user_agent = URI(url), username, password, user_agent || "Postfix"
+ attr_reader :uri, :username, :password
+
+ def initialize(url:, username: "actionmailbox", password:)
+ @uri, @username, @password = URI(url), username, password
end
def relay(source)
@@ -40,9 +43,9 @@ module ActionMailbox
private
def post(source)
- client.post uri.path, source,
- "Content-Type" => "message/rfc822",
- "User-Agent" => user_agent,
+ client.post uri, source,
+ "Content-Type" => CONTENT_TYPE,
+ "User-Agent" => USER_AGENT,
"Authorization" => "Basic #{Base64.strict_encode64(username + ":" + password)}"
end
diff --git a/lib/tasks/ingress.rake b/lib/tasks/ingress.rake
index 3f57b79caa..1253f94f71 100644
--- a/lib/tasks/ingress.rake
+++ b/lib/tasks/ingress.rake
@@ -8,18 +8,17 @@ namespace :action_mailbox do
require "active_support/core_ext/object/blank"
require "action_mailbox/postfix_relayer"
- url, password, user_agent = ENV.values_at("URL", "INGRESS_PASSWORD", "USER_AGENT")
+ url, password = ENV.values_at("URL", "INGRESS_PASSWORD")
if url.blank? || password.blank?
print "4.3.5 URL and INGRESS_PASSWORD are required"
exit 1
end
- ActionMailbox::PostfixRelayer.new(url: url, password: password, user_agent: user_agent)
- .relay(STDIN.read).tap do |result|
- print result.output
- exit result.success? ? 0 : 1
- end
+ ActionMailbox::PostfixRelayer.new(url: url, password: password).relay(STDIN.read).tap do |result|
+ print result.output
+ exit result.success? ? 0 : 1
+ end
end
end
end
diff --git a/test/unit/postfix_relayer_test.rb b/test/unit/postfix_relayer_test.rb
index 9f5b78e216..f11ffb0518 100644
--- a/test/unit/postfix_relayer_test.rb
+++ b/test/unit/postfix_relayer_test.rb
@@ -20,7 +20,8 @@ module ActionMailbox
assert_not result.failure?
assert_requested :post, URL, body: file_fixture("welcome.eml").read,
- basic_auth: [ "actionmailbox", INGRESS_PASSWORD ], headers: { "Content-Type" => "message/rfc822", "User-Agent" => "Postfix" }
+ basic_auth: [ "actionmailbox", INGRESS_PASSWORD ],
+ headers: { "Content-Type" => "message/rfc822", "User-Agent" => "Action Mailbox Postfix relayer" }
end
test "unsuccessfully relaying with invalid credentials" do