Class: Mock::Twilio::Webhooks::InboundMessages
- Defined in:
- lib/mock/twilio/webhooks/inbound_messages.rb
Constant Summary collapse
- URL =
"/api/v1/twilio_requests/inbound"
Constants inherited from Base
Class Method Summary collapse
Methods inherited from Base
auth_twilio, build_signature_for_request, headers, twilio_client, webhook_client
Class Method Details
.inbound_data(sid, params) ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/mock/twilio/webhooks/inbound_messages.rb', line 37 def self.inbound_data(sid, params) { "ToCountry": "US", "ToState": "MS", "SmsMessageSid": sid, "NumMedia": "0", "ToCity": "SARDIS", "FromZip": "98315", "SmsSid": sid, "FromState": "WA", "SmsStatus": "received", "FromCity": "SILVERDALE", "Body": "Inbound::Message mock reply", "FromCountry": "US", "To": params["To"], "MessagingServiceSid": params['MessagingServiceSid'], "ToZip": "38666", "AddOns": "{\"status\":\"successful\",\"message\":null,\"code\":null,\"results\":{}}", "NumSegments": "1", "MessageSid": sid, "AccountSid": ::Twilio.account_sid, "From": params["From"], "ApiVersion": "2010-04-01" } end |
.trigger(sid, params) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/mock/twilio/webhooks/inbound_messages.rb', line 9 def self.trigger(sid, params) raise Webhooks::RestError, "Invalid Inbound message data" if params['To'].empty? || params['From'].empty? # Wait simulation from twilio sleep DELAY.sample request_url = Mock::Twilio.proto + "://" + Mock::Twilio.forwarded_host + URL data = inbound_data(sid, params) signature = build_signature_for_request(request_url, data) response = webhook_client.request(Mock::Twilio.host, Mock::Twilio.port, 'POST', URL, nil, data, headers.merge!({ 'X-Twilio-Signature': signature }), auth_twilio, nil) case response.status when 200..204 response when 400..600 raise Webhooks::RestError, Mock::Twilio::ErrorHandler.new(response).raise end end |