Sha256: fa16aaf0ee94eb8fb2560d6bb593a6092b04d1082f3130447adef1e5a0644585

Contents?: true

Size: 518 Bytes

Versions: 1

Compression:

Stored size: 518 Bytes

Contents

# frozen_string_literal: true

require "svix"
require_relative "base_resource"
require_relative "routes/resources/event"

module Seam
  WebhookVerificationError = Svix::WebhookVerificationError

  class Webhook
    def initialize(secret)
      @webhook = Svix::Webhook.new(secret)
    end

    def verify(payload, headers)
      normalized_headers = headers.transform_keys(&:downcase)
      res = @webhook.verify(payload, normalized_headers)

      Seam::Resources::SeamEvent.load_from_response(res)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
seam-2.0.0b0 lib/seam/webhook.rb