Module: WebhookSystem::Payload

Defined in:
lib/webhook_system/encoder.rb

Class Method Summary collapse

Class Method Details

.decode(response_body, secret:, format:) ⇒ Object



75
76
77
78
79
80
81
82
83
84
85
86
# File 'lib/webhook_system/encoder.rb', line 75

def decode(response_body, secret:, format:)
  payload = JSON.load(response_body)

  case format
  when 'base64+aes256'
    decode_aes(payload, secret)
  when 'json'
    payload
  else
    raise ArgumentError, "don't know how to handle: #{payload['format']} payload"
  end
end

.encode(payload, secret:, format:) ⇒ Object



64
65
66
67
68
69
70
71
72
73
# File 'lib/webhook_system/encoder.rb', line 64

def encode(payload, secret:, format:)
  case format
  when 'base64+aes256'
    encode_aes(payload, secret)
  when 'json'
    payload
  else
    raise ArgumentError, "don't know how to handle: #{payload['format']} payload"
  end
end