Sha256: 82c946d70be9a08f953155a1065573f872007d28220416c6fa8a742d17e4646c

Contents?: true

Size: 535 Bytes

Versions: 4

Compression:

Stored size: 535 Bytes

Contents

# frozen_string_literal: true

module TwilioBase
  class RequestVerificationService
    attr_accessor :validator

    def initialize(validator)
      self.validator = validator
    end

    def verify(uri:, env:)
      params = if env['REQUEST_METHOD'] == 'POST'
                 env['rack.request.form_hash']
               else
                 env['rack.request.query_hash']
               end
      signature = env['HTTP_X_TWILIO_SIGNATURE']
      signature.present? && validator.validate(uri, params, signature)
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
twilio_base-1.11.1101 app/services/twilio_base/request_verification_service.rb
twilio_base-1.11.11 app/services/twilio_base/request_verification_service.rb
twilio_base-1.9.0 app/services/twilio_base/request_verification_service.rb
twilio_base-1.8.0 app/services/twilio_base/request_verification_service.rb