Class: MagicPipe::Transports::Https
- Defined in:
- lib/magic_pipe/transports/https.rb
Instance Attribute Summary collapse
-
#conn ⇒ Object
readonly
Returns the value of attribute conn.
Attributes inherited from Base
Instance Method Summary collapse
-
#initialize(config, metrics) ⇒ Https
constructor
A new instance of Https.
-
#submit!(payload, metadata) ⇒ Object
TODO: should this raise an error on failure? So that it can be retried?.
Constructor Details
#initialize(config, metrics) ⇒ Https
Returns a new instance of Https.
10 11 12 13 14 15 |
# File 'lib/magic_pipe/transports/https.rb', line 10 def initialize(config, metrics) super(config, metrics) @options = @config. @conn = build_connection @path_builder = @options[:dynamic_path_builder] end |
Instance Attribute Details
#conn ⇒ Object (readonly)
Returns the value of attribute conn.
17 18 19 |
# File 'lib/magic_pipe/transports/https.rb', line 17 def conn @conn end |
Instance Method Details
#submit!(payload, metadata) ⇒ Object
TODO: should this raise an error on failure? So that it can be retried?
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/magic_pipe/transports/https.rb', line 23 def submit!(payload, ) username, password = basic_auth([:topic]) @conn.basic_auth(username, password || "x") resp = @conn.post do |r| path = dynamic_path([:topic]) r.url(path) if path r.body = payload r.headers["X-MagicPipe-Sent-At"] = [:time] r.headers["X-MagicPipe-Topic"] = [:topic] r.headers["X-MagicPipe-Producer"] = [:producer] end unless resp.success? msg = %Q{HTTP response: status=#{resp.status} body="#{resp.body}"} raise SubmitFailedError.new(self.class, msg) end end |