class Smess::HttpBase
Attributes
sms[R]
Public Class Methods
new(config)
click to toggle source
Calls superclass method
Smess::Output::new
# File lib/smess/outputs/http_base.rb, line 8 def initialize(config) super HTTPI.log_level = :debug end
Public Instance Methods
sender_id()
click to toggle source
# File lib/smess/outputs/http_base.rb, line 14 def sender_id @sender_id || Smess.config.default_sender_id end
Private Instance Methods
from()
click to toggle source
# File lib/smess/outputs/http_base.rb, line 22 def from sms.originator || sender_id end
http_get(request)
click to toggle source
# File lib/smess/outputs/http_base.rb, line 34 def http_get(request) http_request(:get, request) end
http_post(request)
click to toggle source
# File lib/smess/outputs/http_base.rb, line 38 def http_post(request) http_request(:post, request) end
http_request(method, request)
click to toggle source
# File lib/smess/outputs/http_base.rb, line 42 def http_request(method, request) response = HTTPI.send(method, request) normal_result(response) rescue => e logger.warn response result_for_error(e) end
message_id()
click to toggle source
# File lib/smess/outputs/http_base.rb, line 26 def message_id @message_id ||= Digest::MD5.hexdigest "#{Time.now.strftime('%Y%m%d%H%M%S')}#{sms.to}-#{SecureRandom.hex(6)}" end
request()
click to toggle source
# File lib/smess/outputs/http_base.rb, line 30 def request @request ||= HTTPI::Request.new end
result_data()
click to toggle source
# File lib/smess/outputs/http_base.rb, line 62 def result_data { to: sms.to, text: sms.message.strip_nongsm_chars, from: from } end
result_for_error(e)
click to toggle source
# File lib/smess/outputs/http_base.rb, line 50 def result_for_error(e) { response_code: '-1', response: { temporaryError: 'true', responseCode: '-1', responseText: e.message }, data: result_data } end