Module: WebhookSystem::Payload

Defined in:
lib/webhook_system/encoder.rb

Class Method Summary collapse

Class Method Details

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



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

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



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

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