Class: ErrorReady::SyncSender
- Inherits:
-
Object
- Object
- ErrorReady::SyncSender
- Includes:
- Concurrent::Async
- Defined in:
- lib/error_ready/notifiers/sync_sender.rb
Instance Method Summary collapse
- #app_secret ⇒ Object
- #call ⇒ Object
- #handle_response(response) ⇒ Object
-
#initialize(formatted_error) ⇒ SyncSender
constructor
A new instance of SyncSender.
- #log_message(msg, color = :red) ⇒ Object
- #send_request ⇒ Object
- #uri ⇒ Object
Constructor Details
#initialize(formatted_error) ⇒ SyncSender
Returns a new instance of SyncSender.
7 8 9 |
# File 'lib/error_ready/notifiers/sync_sender.rb', line 7 def initialize(formatted_error) @error = formatted_error end |
Instance Method Details
#app_secret ⇒ Object
40 41 42 |
# File 'lib/error_ready/notifiers/sync_sender.rb', line 40 def app_secret ErrorReady.configuration.app_secret end |
#call ⇒ Object
11 12 13 |
# File 'lib/error_ready/notifiers/sync_sender.rb', line 11 def call handle_response(send_request) end |
#handle_response(response) ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/error_ready/notifiers/sync_sender.rb', line 25 def handle_response(response) case response when Net::HTTPSuccess, Net::HTTPOK ("error sent to #{uri.hostname}", :green) when Net::HTTPUnauthorized ("unauthorized, ensure you add app_secret on config file") when Net::HTTPBadRequest ("bad request") when HTTPServerError ("server error") else ("something wrong") end end |
#log_message(msg, color = :red) ⇒ Object
44 45 46 |
# File 'lib/error_ready/notifiers/sync_sender.rb', line 44 def (msg, color = :red) Rails.logger.debug ActiveSupport::LogSubscriber.new.send(:color, "ErrorReady: #{msg}", color, true) end |
#send_request ⇒ Object
15 16 17 18 19 20 21 22 23 |
# File 'lib/error_ready/notifiers/sync_sender.rb', line 15 def send_request http = Net::HTTP.new(uri.hostname, uri.port) http.use_ssl = true if uri.port == 443 req = Net::HTTP::Post.new(uri) req["Content-type"] = "application/json" req["APP-SECRET"] = app_secret req.body = @error.to_json http.request(req) end |
#uri ⇒ Object
48 49 50 |
# File 'lib/error_ready/notifiers/sync_sender.rb', line 48 def uri @uri ||= URI(ErrorReady.configuration.host) end |