class BabySMS::Adapters::TwilioAdapter::WebHook
Public Instance Methods
process(app:, report:)
click to toggle source
# File lib/babysms/adapters/twilio_adapter.rb, line 33 def process(app:, report:) validate!(app.request) # Of note: NumMedia, and MediaContentType0, MediaUrl0 message = BabySMS::Message.new(from: app.params['From'], to: app.params['To'], contents: app.params['Body'], uuid: app.params['MessageSid']) report.incoming_message(message) [200, { 'Content-Type' => 'application/xml' }, '<Response></Response>'] end
validate!(request)
click to toggle source
# File lib/babysms/adapters/twilio_adapter.rb, line 25 def validate!(request) validator = Twilio::Security::RequestValidator.new(adapter.client.auth_token) unless validator.validate(end_point, request.params, request.headers['X-Twilio-Signature']) fail BabySMS::Unauthorized, 'twilio signature failed' end end