Sha256: 17e01333a61f6045ae406a7e00aa84f7f3ceee73c4233fc5ccf8a1d494621729

Contents?: true

Size: 1.21 KB

Versions: 8

Compression:

Stored size: 1.21 KB

Contents

# frozen_string_literal: true

module Mock
  module Twilio
    module Webhooks
      class Messages < Base
        URL = "/api/v1/twilio_requests/webhook_message_updates"

        def self.trigger(sid)
          # Wait simulation from twilio
          sleep DELAY.sample

          request_url = Mock::Twilio.proto + "://" + Mock::Twilio.forwarded_host + URL

          data = { :MessageSid=>sid, :MessageStatus=>"delivered" }

          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, response.body
          end
        end
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
mock-twilio-0.7.2 lib/mock/twilio/webhooks/messages.rb
mock-twilio-0.7.1 lib/mock/twilio/webhooks/messages.rb
mock-twilio-0.7.0 lib/mock/twilio/webhooks/messages.rb
mock-twilio-0.6.0 lib/mock/twilio/webhooks/messages.rb
mock-twilio-0.5.0 lib/mock/twilio/webhooks/messages.rb
mock-twilio-0.4.0 lib/mock/twilio/webhooks/messages.rb
mock-twilio-0.3.0 lib/mock/twilio/webhooks/messages.rb
mock-twilio-0.2.0 lib/mock/twilio/webhooks/messages.rb