Class: ActionMailbox::Relayer
- Inherits:
-
Object
- Object
- ActionMailbox::Relayer
- Defined in:
- lib/action_mailbox/relayer.rb
Defined Under Namespace
Classes: Result
Constant Summary collapse
- CONTENT_TYPE =
"message/rfc822"
- USER_AGENT =
"Action Mailbox relayer v#{ActionMailbox.version}"
Instance Attribute Summary collapse
-
#password ⇒ Object
readonly
Returns the value of attribute password.
-
#uri ⇒ Object
readonly
Returns the value of attribute uri.
-
#username ⇒ Object
readonly
Returns the value of attribute username.
Instance Method Summary collapse
-
#initialize(url:, username: "actionmailbox", password:) ⇒ Relayer
constructor
A new instance of Relayer.
- #relay(source) ⇒ Object
Constructor Details
#initialize(url:, username: "actionmailbox", password:) ⇒ Relayer
Returns a new instance of Relayer.
32 33 34 |
# File 'lib/action_mailbox/relayer.rb', line 32 def initialize(url:, username: "actionmailbox", password:) @uri, @username, @password = URI(url), username, password end |
Instance Attribute Details
#password ⇒ Object (readonly)
Returns the value of attribute password.
30 31 32 |
# File 'lib/action_mailbox/relayer.rb', line 30 def password @password end |
#uri ⇒ Object (readonly)
Returns the value of attribute uri.
30 31 32 |
# File 'lib/action_mailbox/relayer.rb', line 30 def uri @uri end |
#username ⇒ Object (readonly)
Returns the value of attribute username.
30 31 32 |
# File 'lib/action_mailbox/relayer.rb', line 30 def username @username end |
Instance Method Details
#relay(source) ⇒ Object
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/action_mailbox/relayer.rb', line 36 def relay(source) case response = post(source) when Net::HTTPSuccess Result.new "2.0.0", "Successfully relayed message to ingress" when Net::HTTPUnauthorized Result.new "4.7.0", "Invalid credentials for ingress" else Result.new "4.0.0", "HTTP #{response.code}" end rescue IOError, SocketError, SystemCallError => error Result.new "4.4.2", "Network error relaying to ingress: #{error.}" rescue Timeout::Error Result.new "4.4.2", "Timed out relaying to ingress" rescue => error Result.new "4.0.0", "Error relaying to ingress: #{error.}" end |