Namespace

Class

Methods

Constants

CONTENT_TYPE = "message/rfc822"
USER_AGENT = "Action Mailbox relayer v#{ActionMailbox.version}"

Attributes

[R] password
[R] uri
[R] username

Class Public methods

new(url:, username: "actionmailbox", password:)

📝 Source code
# File actionmailbox/lib/action_mailbox/relayer.rb, line 32
    def initialize(url:, username: "actionmailbox", password:)
      @uri, @username, @password = URI(url), username, password
    end
🔎 See on GitHub

Instance Public methods

relay(source)

📝 Source code
# File actionmailbox/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.message}"
    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.message}"
    end
🔎 See on GitHub